這段代碼給出了一個即時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不屬於字符串大小。這是一個功課問題嗎? –