这段代码给出了一个即时seg错误,我试着把printf的全部都放了,我甚至试图在int = 0之后打印一些东西;但不管我做了什么,它都不会打印任何内容,而只是出现分段错误。该文件存在,其位置也与我执行的位置相同。 该文件包含城市名称,每行一个名称,没有别的,我如何读取它们并将它们存储在一个数组中:/ 如果在每个城市之后有一个数字,那么读数仍然是相同的呢?逐行读取,seg错误
NewYork 5
LosAngeles 12
California 7
和代码;
int i=0;
char **city_names = malloc(sizeof(char*));
FILE* fp;
fp = fopen("abc.txt","r");
while(!feof(fp)){
city_names[i] = realloc(city_names[i],sizeof(char)*255);
fscanf(fp,"%s",city_names[i]);
i++;
}
fclose(fp);
您应该运行在调试你的代码;它会告诉你哪一行导致段错误。 –
这仍然是错误的。您只在顶部列表中分配了1个指针。 realloc不属于字符串大小。这是一个功课问题吗? –