永发信息网

C语言中fscanf的问题

答案:2  悬赏:20  手机版
解决时间 2021-03-24 04:25
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个数中的最大值,这样写出来我发现第一个函数数字写进文件是对的,但是第二个函数里把文件里的数字写进数组始终不对,求大神帮我看看错在哪里了
最佳答案
请注意你的fopen的用法 第一个参数是文件名 第二个参数很重要 你两次都写了"w"模式
而w代表write 写模式 在这个模式下使用fscanf 基本是不会成功的
读需要使用"r" 模式 一定要了解一下这些模式
w , r, t ,b , + 等等 还可以互相组合使用 如 wt rt wb rb w+ r+ 等等
全部回答
是以空格分隔的。 fscanf会返回读取成功的数据个数,你可以用 int ans=fscanf(fp,"%d%d",&amp;a,&amp;b); 的方法,看ans是否为2,是则表示输入成功。 文件指针是自动递增的
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
单选题Idon'tlikecats,________.A.alsoB.
中英人寿财智人生终身寿险万能型缴费期限是终
德阳凯景丽天园林绿化有限公司怎么样?
初中毕业后就跟着老爹去工地干活,上班很累身
香奈儿标志和酷奇标志的区别
求优化大师v6.7注册人证码
“金额和总金额”用英语分别怎么说?
王积地址在什么地方,想过去办事
广东与浙江哪边富裕?
单选题下面图形中,一定有内切圆的是A.矩形B.
和可以组可以组什么词,踢可以换什么偏旁,做
起亚k3低配尾灯可以改高配尾灯吗?
盂县去五台山高速公路如何走。
女生的呢称为7mm请问是什么意思
什么是水洗裤?
推荐资讯
单选题以下符合南半球,低纬度的地点是A.40°
华为p10plus和一加5手机那个好用
老地方见 八月长安 建安二十四年 这三个做网
工业路/S296(路口)在哪里啊,我有事要去这个
铜军自助小火锅怎么去啊,有知道地址的么
有哪些可以赚钱的app
属兔今天的财运
新利维木业地址在哪,我要去那里办事
武侠之大隋昏君
中国邮政储蓄银行涟水县徐集乡营业所在什么地
汕尾和佛山有多远?
下列说法中,正确的是A.直角三角形中,已知两
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?