-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