gpt4 book ai didi

c - 文件访问中的段错误

转载 作者:太空宇宙 更新时间:2023-11-04 02:15:12 25 4
gpt4 key购买 nike

请问为什么这段代码会导致段错误。我正在尝试从文本文件中获取输入,但我无法弄清楚问题出在哪里。

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;
}

最佳答案

int k, n, maxval1, maxval2, classnum;
char dataArray[n][3];

n 未初始化,因此它可以是任何值,因此您的代码具有未定义的行为

呃……反正没用过。

代码中的另一个问题是您的数据缓冲区:

char str[50];

应该足够大以容纳文件的内容,但它可能不是并且会导致未定义的行为

关于c - 文件访问中的段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8862855/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com