【发布时间】:2012-01-14 14:35:33
【问题描述】:
请问为什么这段代码会导致分段错误。我正在尝试从文本文件中获取输入,但我无法弄清楚问题所在。
using namespace std;
using namespace cv;
int main()
{
char str[50];
FILE *trainfile;
int k, n, maxval1, maxval2, classnum;
char dataArray[n][3];
trainfile = fopen("training.txt", "r+");
if(trainfile == NULL){
perror("Cannot open file.\n");
}else{
while(!feof(trainfile)){
fscanf(trainfile, "%s", str);
}
}
fclose(trainfile);
return 0;
}
【问题讨论】:
-
你确定 50 个字符就够了吗?此外,如果 trainfile == NULL,则调用 fclose(NULL)
标签: c file segmentation-fault