当字符和字符串彼此相邻时,例如从文件中读取数据时,fscanf函数如何处理该文件的内容为: 1123456 Li Ming 96a125421 Zhang San 92 ...等等1字符,代表序列号,第二个是单词...当字符和字符串彼此相邻时,fscanf函数将如何处理,
例如,从文件中读取数据,该文件就是这样的内容:
1 123456李明96
a 125421张三92
...
多行数据
第一个是字符fscanf字符串,代表序列号,第二个是字符串,学生编号,第三个是字符串,名称,第四个是整数,分数
使用结构存储这些变量
然后下面的代码有问题
while(fscanf(fp,“%c%s%[^ 0-9]%d”,&Stu [n] .Group,Stu [n] .numberfscanf字符串,Stu [n] .name,&Stu [n] .Score)!= EOF)
n ++;
输入数据将对齐
但是像这样更改它是正确的
while(fscanf(fp,“%s%s%[^ 0-9]%d”,&Stu [n] .Group,Stu [n] .number,Stu [n] .name,&Stu [n] .Score)!= EOF)
n ++;
这是为什么?第一个是char Group. 在fscanf中使用%c是错误的. 您必须使用%s. 如何处理?
再次,每行的第一个数据是字符串,第二个数据是字符,然后使用%s%c. 为什么?
再举一个例子,每行的前2个是字符串,我们应该怎么做3?
帮助说明fscanf如何处理%c和%s,谢谢
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-/a/jisuanjixue/article-234902-1.html