我的代码有问题,希望您能提供帮助。我不会发布所有的代码,因为它有点长,但我会专注于麻烦的部分。这个程序是关于数组的代数运算。read_array2从文件中读取第一个nxn实数,并将它们放在全局数组中。问题是,我总是收到相同的消息"我无法打开此文件"。我甚至添加了一个printf()来测试名称是否正确存储在fname中,我发现确实如此。是的,我已经验证了我使用的文件是否存在,并且我正确地键入了它们的名称。我不知道这是否重要,但这些文件有10000个实数,用一个空格隔开。我知道如果没有所有可用的代码,很难判断,但你是否看到了可能导致此问题的不适当之处?
int read_array2(double table[N_MAX][N_MAX], int n){
int i, j;
FILE *infile;
char fname[25];
printf("nFile Name: ");
scanf("%s",&fname);
if ((infile = fopen(fname,"r")) == NULL){
printf("nI cannot open this file.n");
return 1;
}
for (i = 0; i < n; i++)
for(j = 0; j < n; j++){
fscanf(infile, "%lf ", &table[i][j]);
}
fclose(infile);
return 0;
}
您还记得输入文件的扩展名吗?例如:要打开一个名为"MyFile"的文本文件,您需要输入"MyFile.txt"。此外,如果它不在程序的同一目录中,您还需要包括完整路径。注意:文件名区分大小写,当键入路径时,您需要转义"\\"或使用"/",即C:\\Users\\MyFile.txt或C:\Users/MyFile.txt