如何将整数从文件保存到数组?

时间:2015-06-09 16:16:41

标签: c arrays

我已经尝试了大约一天半。尝试了几种方法将我的文件整数放入数组中。你能帮帮忙吗?我现在得到的输出是一遍又一遍重复的相同数字。

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;

2 个答案:

答案 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]);
}

如果您的数组总是足够大(通常您不知道),否则您必须为每个新元素动态分配空间。