Mercurial > hg > Members > kono > os9 > sbc09
comparison mc09/string.txt @ 160:1a30cd6e5973
move mc09 to top
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 05 Feb 2019 09:03:07 +0900 |
parents | os9/mc09/string.txt@92ed427b7f7d |
children |
comparison
equal
deleted
inserted
replaced
159:1d574c5b3383 | 160:1a30cd6e5973 |
---|---|
1 | |
2 strcat(s,t) | |
3 char *s,*t; | |
4 { while (*s) ++s; | |
5 strcpy(s,t); | |
6 } | |
7 | |
8 strcmp(s,t) | |
9 char *s,*t; | |
10 { for (; *s == *t; ++s,++t) if (!*s) break; | |
11 return (*s - *t); | |
12 } | |
13 | |
14 strcpy(s,t) | |
15 char *s,*t; | |
16 { while (*s++ = *t++); | |
17 } | |
18 | |
19 char *gets(s,n) | |
20 char *s; | |
21 int n; | |
22 { return fgets(s,n,stdin); | |
23 } | |
24 | |
25 puts(s) | |
26 char *s; | |
27 { return fputs(s,stdout); | |
28 } | |
29 | |
30 char *fgets(s,n,f) | |
31 char *s,*f; | |
32 int n; | |
33 {char c,*t; | |
34 t = s; | |
35 while (--n > 0) | |
36 { if ((c = getc(f)) == EOF) break; | |
37 if ((*s++ = c) == '\n') break; | |
38 } | |
39 *s = '\0'; | |
40 return ((c == EOF && s == t) ? NULL : s); | |
41 | |
42 } | |
43 | |
44 fputs(s,f) | |
45 char *s,*f; | |
46 { while (*s) putc(*s++,f); | |
47 } | |
48 | |
49 match(p,s) | |
50 char *p,*s; | |
51 { switch (*p) | |
52 {case '*': | |
53 if (!*(p+1)) return 1; | |
54 while (!match(p+1,s)) if (!*s++) return 0; | |
55 return 1; | |
56 case '?': | |
57 return (*s ? match(p+1,s+1) : 0); | |
58 case '\0': | |
59 return (!*s); | |
60 default: | |
61 if (*p == *s) return match(p+1,s+1); | |
62 return 0; | |
63 } | |
64 } |