问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言里fscanf是如何处理%c与%s的

发布网友 发布时间:2022-04-28 13:05

我来回答

3个回答

热心网友 时间:2023-04-29 15:53

fscanf和scanf一样,只是前者一般从文件中读数据,后者从输入缓冲区读数据。在scanf中,%c只读取一个字符,%s是读取一个字符串——这时会跳过前面的' '、'\t'、'\n'等广义空格直接接收字符,一个接一个地把接收到的字符依次赋给对应的数组元素,当再次遇到' '、'\t'、'\n'等广义空格时认为字符接收完毕,就在刚被赋值的元素后增补一个'\0'以表示本次接收的字符串结束。fscanf的接收过程与此完全一样,只是是从它的第一个文件指针实参指向的文件中读取的;若把fscanf的第一个实参换成stdin(标准输入),它就和scanf一样从键盘读入数据了。

热心网友 时间:2023-04-29 15:53

请问Stu[n].Group成员是什么类型的?如果是char类型用%c,如果是char *类型,则应该用%s

热心网友 时间:2023-04-29 15:54

while(fscanf(fp, "空格%c%s%[^0-9]%d",&Stu[n].Group, Stu[n].number, Stu[n].name, &Stu[n].Score) != EOF)

吃换行而已追问真的可以了,请问这是为什么,加空格就数据都对了...

追答比如说fscanf读完一行(&Stu[n].Score)已经读进去了,这一行还会留一个换行符没有读,所以下一次fscanf会把换行符赋给&Stu[n].Group,后面就会跟着错位,加一个空格表示让fscanf跳过所有空白字符(包括空格TAB回车),所以赋给&Stu[n].Group的就是正确的字符

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
ef英语哪个好 EF英孚英语培训怎么样? 英孚英语好不好 EF英孚教育到底好不好 大佬们,麦芒7和荣耀10那个值得入手?2500以下的机子还有啥好推荐的么... 介绍几款2500元以前的手机 像素一定要高 其他的不做要求 近期想入手一部安卓手机,价格2200到2500左右…买HTC desire Z还是 三星... 笔记本忘记开机密码怎么办急死了 笔记本电脑屏幕开机锁忘记密码 怎么办?急死了 华硕笔记本电脑开机密码忘记了怎样找回?系统是Windows 7旗舰版... C语言 fprintf和fscanf 语法规则是什么 C语言中fscanf()按一定的格式读取文本文件! C语言fscanf的用法是什么 c语言fscanf()的问题 请问C语言这个程序中fscanf的作用是什么?和scanf一样吗? c语言fscanf函数问题 有人知道58.上说的北京别墅招保姆看管是真的吗? 58同城搜租房,只能搜全北京,怎么弄 58同城是北京的还是上海的? 58同城为什么只能选北京? 北京除了58还有哪个公司最大? 北京58同城总部办公室在哪里 介绍一下北京移动全球通58元套餐 北京58公交线路图? 58同城北京总部的地址在哪里?联系电话是多少? 58同城北京总部的地址在哪里 求58同城北京总部的电话和地址 北京58同城总部地址 58路公交车路线 让文字自动填满 固定固定的block,中间用空格填充,怎么操作? c语言:fscanf(fp,"%*[^\n]")为什么可以跳过全部字符直到下一个换行符 C语言 fprintf和fscanf 怎么用 c语言中关于fscanf用法 有什么录屏软件不这样冲突的 也可以录闪照的给我来一个 工商银行网银被骗转给对方需要怎么处理 网银转账钱被骗24小时收可以追回吗? 网银转账被骗子骗了,怎么办 网银被骗了怎么办 网银转账怎么追回 网银被骗了怎么办? 怎样用css将下边的自动填充到空白处,在线等。。。同时天涯沦落人,css是一条不归路,各位大神帮帮忙吧。 我在网银转账被骗,怎么办? 银行转账我被骗了 网银转账的钱如何收回 被骗了! 网银转账被骗怎么办 很多人使用的是什么品牌的手机呀? 现在什么手机好用,用的比较多的手机是什么牌子 现在用什么牌子手机的比较多。 什么手机最多人用 现在用什么手机的人最多?