ファイルをトークン化して、特定の文字列を配列に挿入しようとしています。ファイルをトークン化して各トークンを印刷すると正常に機能しますが、各トークンを配列に入れて配列の内容を印刷すると、内容がまったく同じになりません。
char *filenames[1000];
token = strtok(line, " ");
while (token != NULL) {
printf("%s\n", token);
/*
filenames[i] = token;
i++;
*/
token = strtok(NULL, " ");
}
ck = fgets(line, 1000, fp);
for (j = 0; j <= i; j++){
printf("%s \n", filenames[j]);
}
ファイル名の配列をmallocするのか、それとも各トークンをmallocするのか。