Mercurial > hg > Members > kono > os9 > sbc09
comparison os9/mc09/string.txt @ 99:92ed427b7f7d
add micro-c by mohta
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 27 Dec 2018 11:01:16 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
98:ba0af2b8836b | 99:92ed427b7f7d |
---|---|
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 } |