質問: strtok(NULL, token); if ( p != NULL ) { strcpy(mail, p); } else { printf( "メールアドレスの切り出しに失敗しました。\n"); break; } list_add(&head, name, address, tel, mail); } } fclose(fp); return 0; } 実行結果 naka@naka ~ $ cd kadai/kadai9-8 naka@naka ~/kadai/kadai9-8 $ gcc -o kad9-8a kad9-8a.c -Wall naka@naka ~/kadai/kadai9-8 $ kad9-8a ファイルから読んだ文字列:hosi,nagoya,5436,mail-7 ファイルから読んだ文字列:kato,kanagawa,080-8888,mail1-2 ファイルから読んだ文字列:koko,yosida,090-2314,mail-6 ファイルから読んだ文字列:naka,kamikosaka,080-4444,mail1-1 ファイルから読んだ文字列:nasi,nogata,090-6376,mail-8 ファイルから読んだ文字列:saito,yamanashi,080-6666,mail1-3 ファイルから読んだ文字列:sato,tokyo ,090-3333,mail1-4 ファイルから読んだ文字列:suzuki,saitama,090-2222,mail1-5 nakamura@nakamura ~/kadai/kadai9-8 $ ```
回答: 質問の回答の本題と外れますが、質問一覧を見て気になったので回答します。 1,まず、gccでコンパイルするのは良いのですが、ステップ実行で変数の内容を確認(ウォッチ)できて、デバック実行のできる無料のIDE(統合開発環境)を導入してみてはどうでしょうか? 2,学習目的ならよいのですが、一般的にリストを作成したい時はコレクションフレームワーク c++ならstl(Standard Template Library )のlistなどを使用すると思います。できるだけ自作はバグの発生元なので「学習目的」以外は避けたほうが無難です。