0
我正在用C编写一个程序,其中我正在读取.txt文件中的数据,并且我的目标是将.txt文件中的每个元素放入一个阵列。当我编译并运行程序时,返回值50,55和0。这些是ASCII值(我不确定为什么这些元素被存储为ASCII码,但现在可以)为2,7和0(这意味着自从我们到达.txt文件末尾以来没有进行初始化。为什么我的程序不读从一开始??将txt文件放到数组中从第12个元素开始
.txt文件...
int main(int argc, char *argv[]){
FILE *inputFile;
char *input = argv[1];
char magicSquareArray[257];
inputFile = fopen(input, "r");
if (inputFile == 0){
printf("Cannot open file for reading!\n");
return -1;
}
fscanf(inputFile, "%s", magicSquareArray);
while (!feof(inputFile)){
fscanf(inputFile, "%s", magicSquareArray);
}
printf("%i\n", magicSquareArray[0]);
int sideSize = magicSquareArray[0];
int squareSize = sideSize * sideSize;
printf("%i\n", squareSize);
fclose(inputFile);
的文本文件:
3
4,3,8
9,5,1
2,7,6
'同时){ 的fscanf(INPUTFILE, “%s” 时,magicSquareArray)(FEOF(INPUTFILE!); }' - >'while(1 == fscanf(inputFile,“%256s”,magicSquareArray);''或类似的东西,如果fscanf(...%s ...)的结果不使用'magicSquareArray' )!= 1' – chux
你会想看看[**为什么while(!feof(file))总是错误的?**](http://stackoverflow.com/questions/5431941/why-is-while- –
@chux谢谢,但遗憾的是我仍然得到55(ASCII代码为2):( –