annotate mc09/string.txt @ 161:91447c3ccd58

fix
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 12 Feb 2019 09:16:24 +0900
parents 1a30cd6e5973
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
99
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 strcat(s,t)
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 char *s,*t;
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 { while (*s) ++s;
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 strcpy(s,t);
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 }
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 strcmp(s,t)
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 char *s,*t;
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 { for (; *s == *t; ++s,++t) if (!*s) break;
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 return (*s - *t);
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 }
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 strcpy(s,t)
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 char *s,*t;
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 { while (*s++ = *t++);
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 }
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 char *gets(s,n)
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 char *s;
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 int n;
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 { return fgets(s,n,stdin);
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 }
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
24
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 puts(s)
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 char *s;
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 { return fputs(s,stdout);
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 }
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
29
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 char *fgets(s,n,f)
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 char *s,*f;
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 int n;
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 {char c,*t;
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 t = s;
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 while (--n > 0)
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 { if ((c = getc(f)) == EOF) break;
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 if ((*s++ = c) == '\n') break;
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 }
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 *s = '\0';
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 return ((c == EOF && s == t) ? NULL : s);
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
41
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 }
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
43
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 fputs(s,f)
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 char *s,*f;
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 { while (*s) putc(*s++,f);
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 }
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
48
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 match(p,s)
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 char *p,*s;
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
51 { switch (*p)
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
52 {case '*':
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
53 if (!*(p+1)) return 1;
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
54 while (!match(p+1,s)) if (!*s++) return 0;
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
55 return 1;
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
56 case '?':
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
57 return (*s ? match(p+1,s+1) : 0);
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
58 case '\0':
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
59 return (!*s);
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
60 default:
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
61 if (*p == *s) return match(p+1,s+1);
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
62 return 0;
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
63 }
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
64 }