0027-strtok.c - scc - simple c99 compiler
(HTM) git clone git://git.simple-cc.org/scc
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) Submodules
(DIR) README
(DIR) LICENSE
---
0027-strtok.c (681B)
---
1 #include <assert.h>
2 #include <stdio.h>
3 #include <stdlib.h>
4 #include <string.h>
5
6 /*
7 output:
8 testing
9 test1
10 one
11 two
12 three
13 four
14 test2
15 one
16 three
17 test3
18 one
19 done
20 end:
21 */
22
23 void
24 test(char *msg, char *fmt)
25 {
26 char *s, buff[50];
27
28 puts(msg);
29
30 strcpy(buff, fmt);
31 for (s = strtok(buff, "-+"); s; s = strtok(NULL, "+-")) {
32 switch (atoi(s)) {
33 case 1:
34 puts("one");
35 break;
36 case 2:
37 puts("two");
38 break;
39 case 3:
40 puts("three");
41 break;
42 case 4:
43 puts("four");
44 break;
45 default:
46 puts("error");
47 break;
48 }
49 }
50 }
51
52 int
53 main()
54 {
55 puts("testing");
56 test("test1", "-+001--0002++3+-4");
57 test("test2", "001--+-+-+-3+-");
58 test("test3", "001");
59 puts("done");
60 return 0;
61 }