次のような100個のファイル名とそれに対応するサイズのリストを持つ単純なファイルがあります。
file1.txt, 4000
file2.txt, 5000
など.. ファイルを 1 行ずつ読み取り、ファイル名のリストを char 配列に格納し、次にサイズのリストを int 配列に格納するにはどうすればよいですか? このように sscanf を使用しようとしていますが、うまくいきません。私はセグフォルトを取得しています:
main(){
char line[30];
char names[100][20];
int sizes[100];
FILE *fp;
fp = fopen("filelist.txt", "rt");
if(fp == NULL){
printf("Cannot open filelist.txt\n");
return;
}
while(fgets(line, sizeof(line), fp) != NULL){
sscanf(line, "%s, %d", names[i][0], sizes[i]);
printf("%d", sizes[i]);
i++;
}
}