我有一个简单的文件,其中包含 100 个文件名及其相应大小的列表,如下所示:
file1.txt, 4000
file2.txt, 5000
等等。如何逐行读取文件,然后将文件名列表存储到 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++;
}
}