txt ファイルから各単語を取得して、配列に配置しようとしています。私のコードでは、ファイルから各単語を取得して文字列として保存しても問題ありません。ただし、文字列を配列に入れて印刷しようとすると、最後の数行だけが印刷され、すべて歪んでしまいます。
これが私のコードです:
typedef char * string;
string strings[100];
FILE* file = fopen(argv[1], "r");
char line[256];
while(fgets(line, sizeof(line), file))
{
string tmp = strtok(line, " ,'.-");
while(tmp != NULL)
{
strings[count]= tmp;
tmp = strtok(NULL, " ,.'-;");
count++;
}
}
int c2 = 0;
while(strings[c2] != NULL)
{
printf("%s, ", strings[c2]);
c2++;
}
return 0;
}
私が読んでいるファイルのテキストは次のとおりです。
歩道が途切れる場所がある そして通りが始まる前に、 そこには草が柔らかく白く育ち、 そこでは太陽が真っ赤に明るく燃え、 そしてそこに月鳥が飛び立って休む ペパーミント風で涼しく。