-2
我想從.tsv4文件中獲取數據。無論代碼何時運行,它都會返回一個段錯誤:11.代碼的目標是將未知數字存儲到數組中,而不知道文件中的數字量。我正在嘗試訪問的文件有92個浮點值,並將其正確存儲。但它仍然會導致分段錯誤。我知道這是因爲內存問題的,只是不知道應該如何處理呢fscanf分割錯誤:11
該文件似乎得到線24
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
int getFileInfo(const char *filename, float list[]);
int main(void)
{
float list[] = {0};
int size = getFileInfo("numbers.tsv4",list);
return 0;
}
int getFileInfo(const char *filename, float list[])
{
FILE* spData;
if((spData = fopen(filename, "r")) == NULL)
{
fprintf(stderr, "Error opening file %s.\n",filename);
exit(1);
}
int i = 0;
while(fscanf(spData, "%f", &list[i]) != EOF)
{
i++;
}
if (fclose(spData) == EOF)
{
fprintf(stderr, "Error closing file %s.\n", filename);
exit(2);
}
return i + 1;
}
你沒有分配足夠的內存....雖然嚴重,如果您需要任何真正的幫助,我們需要查看您的代碼 – UnholySheep
請先生 - 我可以在代碼中獲得一個高峯嗎? –
這不是代碼,那是一張圖片。 – melpomene