回答編集履歴

2

書式改善

2017/12/03 06:51

投稿

TaroToyotomi
TaroToyotomi

スコア1430

test CHANGED
@@ -14,78 +14,76 @@
14
14
 
15
15
  if ((fp = fopen(FILENAME,"r")) != 0) {
16
16
 
17
- while(fgets(buff, N, fp) != 0){
17
+ while(fgets(buff, N, fp) != 0){
18
18
 
19
- char *p;
19
+ char *p;
20
20
 
21
- chop(buff);
21
+ chop(buff);
22
22
 
23
- printf( "ファイルから読んだ文字列:%s\n", buff );
23
+ printf( "ファイルから読んだ文字列:%s\n", buff );
24
24
 
25
- p = strtok(buff, token);
25
+ p = strtok(buff, token);
26
26
 
27
- if ( p != NULL ) {
27
+ if ( p != NULL ) {
28
28
 
29
- strcpy(name, p);
29
+ strcpy(name, p);
30
30
 
31
- } else {
31
+ } else {
32
32
 
33
- printf( "nameの切り出しに失敗しました。\n");
33
+ printf( "nameの切り出しに失敗しました。\n");
34
34
 
35
- continue;
35
+ continue;
36
36
 
37
- }
37
+ }
38
38
 
39
- p = strtok(NULL, token);
39
+ p = strtok(NULL, token);
40
40
 
41
- if ( p != NULL ) {
41
+ if ( p != NULL ) {
42
42
 
43
- strcpy(address, p);
43
+ strcpy(address, p);
44
44
 
45
- } else {
45
+ } else {
46
46
 
47
- printf( "addressの切り出しに失敗しました。\n");
47
+ printf( "addressの切り出しに失敗しました。\n");
48
48
 
49
- continue;
49
+ continue;
50
50
 
51
- }
51
+ }
52
52
 
53
- p = strtok(NULL, token);
53
+ p = strtok(NULL, token);
54
54
 
55
- if ( p != NULL ) {
55
+ if ( p != NULL ) {
56
56
 
57
- strcpy(number, p);
57
+ strcpy(number, p);
58
58
 
59
- } else {
59
+ } else {
60
60
 
61
- printf( "numberの切り出しに失敗しました。\n");
61
+ printf( "numberの切り出しに失敗しました。\n");
62
62
 
63
- continue;
63
+ continue;
64
64
 
65
- }
65
+ }
66
66
 
67
- p = strtok(NULL, token);
67
+ p = strtok(NULL, token);
68
68
 
69
- if ( p != NULL ) {
69
+ if ( p != NULL ) {
70
70
 
71
- strcpy(mail, p);
71
+ strcpy(mail, p);
72
72
 
73
- } else {
73
+ } else {
74
74
 
75
- printf( "mailの切り出しに失敗しました。\n");
75
+ printf( "mailの切り出しに失敗しました。\n");
76
76
 
77
- continue;
77
+ continue;
78
78
 
79
- }
79
+ }
80
80
 
81
- list_add(&head, name, address, number, mail);
81
+ list_add(&head, name, address, number, mail);
82
82
 
83
- }
83
+ }
84
84
 
85
- fclose(fp);
85
+ fclose(fp);
86
86
 
87
- }
87
+ }
88
-
89
-
90
88
 
91
89
  ```

1

追記したコード

2017/12/03 06:50

投稿

TaroToyotomi
TaroToyotomi

スコア1430

test CHANGED
@@ -5,3 +5,87 @@
5
5
  のstrtok()関数の戻り値がNULLになってませんか?
6
6
 
7
7
  buffの中身または、"address.csv"の内容が正しいか確認してください。
8
+
9
+
10
+
11
+ 追記
12
+
13
+ ```c
14
+
15
+ if ((fp = fopen(FILENAME,"r")) != 0) {
16
+
17
+ while(fgets(buff, N, fp) != 0){
18
+
19
+ char *p;
20
+
21
+ chop(buff);
22
+
23
+ printf( "ファイルから読んだ文字列:%s\n", buff );
24
+
25
+ p = strtok(buff, token);
26
+
27
+ if ( p != NULL ) {
28
+
29
+ strcpy(name, p);
30
+
31
+ } else {
32
+
33
+ printf( "nameの切り出しに失敗しました。\n");
34
+
35
+ continue;
36
+
37
+ }
38
+
39
+ p = strtok(NULL, token);
40
+
41
+ if ( p != NULL ) {
42
+
43
+ strcpy(address, p);
44
+
45
+ } else {
46
+
47
+ printf( "addressの切り出しに失敗しました。\n");
48
+
49
+ continue;
50
+
51
+ }
52
+
53
+ p = strtok(NULL, token);
54
+
55
+ if ( p != NULL ) {
56
+
57
+ strcpy(number, p);
58
+
59
+ } else {
60
+
61
+ printf( "numberの切り出しに失敗しました。\n");
62
+
63
+ continue;
64
+
65
+ }
66
+
67
+ p = strtok(NULL, token);
68
+
69
+ if ( p != NULL ) {
70
+
71
+ strcpy(mail, p);
72
+
73
+ } else {
74
+
75
+ printf( "mailの切り出しに失敗しました。\n");
76
+
77
+ continue;
78
+
79
+ }
80
+
81
+ list_add(&head, name, address, number, mail);
82
+
83
+ }
84
+
85
+ fclose(fp);
86
+
87
+ }
88
+
89
+
90
+
91
+ ```