やあみんな私はstrtokでセグメンテーション違反を起こしている、ちょっと助けが必要だ!
char s[1024];
char *token[2];
while(fgets(s, sizeof(s), fp) != NULL) // Read line from file fp until end
{
token[0] = strtok(s, "\t\n");
token[1] = strtok(NULL, "\t\n");
token[2] = strtok(NULL, "\t\n");
printf("%d:%s:%d", atoi(token[0]), token[1], atoi(token[2]));
}
しかし、ループの最初の通過後にセグメンテーション違反が発生します。入力ファイルは次のようになります。
102910319 code mark
.
.
.
104981851 code mark
ただし、whileループは最初の行を正しく出力し、2番目の行にセグメンテーションフォールトを出力するだけです。
なぜ何かアイデアはありますか?
ありがとう。