问答文章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
正确的调搓丝板方法 正确的调搓丝板方法介绍 搓丝板失效的多种原因及如何预防? 副职领导签批公文技巧 上级审批意见怎么写 怎么卸摘网吧电脑上的“世界之窗”浏览器 怎么才能卸载世界之窗浏览器? 麻烦帮我翻译两个句子,谢谢,谢谢。 ...结构层次和结构关系 原理讲下 谢谢谢谢 老师讲过了我么听懂啊_百度... 这两个句子的主干是什么,谢谢谢谢 为什么会有人选择一辈子不结婚呢? 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是一条不归路,各位大神帮帮忙吧。 我在网银转账被骗,怎么办? 银行转账我被骗了 网银转账的钱如何收回 被骗了! 网银转账被骗怎么办 很多人使用的是什么品牌的手机呀? 现在什么手机好用,用的比较多的手机是什么牌子 现在用什么牌子手机的比较多。 什么手机最多人用 现在用什么手机的人最多?