int SaveInt(char *cFileName)
{
int i, iNum[10];
FILE *fp;
if((fp = fopen(cFileName,"w")) == NULL)
{
printf("打不开文件");
return 0;
}
printf("请输入10个数字:\n");
for(i = 0; i < 10; i++)
{
scanf("%d", &iNum[i]);
}
fprintf(fp, "%d %d %d %d %d %d %d %d %d %d", iNum[0], iNum[1], iNum[2], iNum[3], iNum[4], iNum[5], iNum[6], iNum[7], iNum[8], iNum[9]);
return 1;
}
int FindMax(char *cFileName, int *iMax)
{
FILE *fp;
int i, Max;
int count[10];
if((fp = fopen(cFileName,"w")) == NULL)
{
printf("打不开文件");
return 0;
}
for(i = 0; i < 10; i++)
{
fscanf(fp, "%d ", &count[i]);
}
printf("%d %d %d %d %d %d %d %d %d %d", count[0], count[1], count[2], count[3], count[4], count[5], count[6], count[7], count[8], count[9]);
Max = count[0];
for(i = 1; i < 10; i++)
{
if(Max < count[i])
{
Max = count[i];
}
}
*iMax = Max;
return 1;
}
我这个程序里要求第一个函数输入10个数字到一个文件中,然后通过第二个函数找出10个数中的最大值,这样写出来我发现第一个函数数字写进文件是对的,但是第二个函数里把文件里的数字写进数组始终不对,求大神帮我看看错在哪里了
改了r还是不行
追答我读出来问题并没有那么大啊? 只是数字中间少了个10
对啊,我想把文件里的数字读到数组里面怎么不对呢
追答w 打开文件表示要写文件,
都被你覆盖了,怎么读呀?
改成r还是不行。。
追答改了之后的症状是什么?你会下断点调试么?
追问数组里面的元素全是随机数,好像还是文件读取有问题
追答你把fscanf中多余的空格去掉,只留%d