view mc09/string.txt @ 176:6ef317714ae8

mopen in TL/1
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 15 Apr 2019 00:25:58 +0900
parents 1a30cd6e5973
children
line wrap: on
line source


strcat(s,t)
char *s,*t;
{       while (*s) ++s;
        strcpy(s,t);
}

strcmp(s,t)
char *s,*t;
{       for (; *s == *t; ++s,++t) if (!*s) break;
        return (*s - *t);
}

strcpy(s,t)
char *s,*t;
{       while (*s++ = *t++);
}

char *gets(s,n)
char *s;
int n;
{       return fgets(s,n,stdin);
}

puts(s)
char *s;
{       return fputs(s,stdout);
}

char *fgets(s,n,f)
char *s,*f;
int n;
{char c,*t;
        t = s;
        while (--n > 0)
        {       if ((c = getc(f)) == EOF) break;
                if ((*s++ = c) == '\n') break;
        }
        *s = '\0';
        return ((c == EOF && s == t) ? NULL : s);

}

fputs(s,f)
char *s,*f;
{       while (*s) putc(*s++,f);
}

match(p,s)
char *p,*s;
{       switch (*p)
        {case '*':
                if (!*(p+1)) return 1;
                while (!match(p+1,s)) if (!*s++) return 0;
                return 1;
         case '?':
                return (*s ? match(p+1,s+1) : 0);
         case '\0':
                return (!*s);
         default:
                if (*p == *s) return match(p+1,s+1);
                return 0;
        }
}