我已经尝试了大约一天半。尝试了几种方法将我的文件整数放入数组中。你能帮帮忙吗?我现在得到的输出是一遍又一遍重复的相同数字。
if ((nfPtr=fopen("c:\\Users\\raphaeljones\\Desktop\\newfile.dat","r"))==NULL)
{
printf("File could not be opened\n");
}
else {
printf("The integers you have entered are: \n");
fscanf(nfPtr,"%d\n",&i);
while(!feof(nfPtr)){
for (count=0;count<=SIZE;count++){
fscanf(nfPtr,"%d",&array[i]);
i++;
printf("%d\n",i);
}
}
}//end else
fclose(nfPtr);
getch();
return 0;
答案 0 :(得分:1)
在此代码中:
i++;
printf("%d\n",i);
您正在递增索引(i)然后打印它? 您打算打印从文件中读取的数字吗? 也许你想要:
printf("%d\n",array[i]);
i++;
答案 1 :(得分:1)
您可以尝试以下内容:
for (i = 0; fscanf(nfPtr, "%d", &array[i]) == 1; i++) {
printf("%d\n", array[i]);
}
如果您的数组总是足够大(通常您不知道),否则您必须为每个新元素动态分配空间。