fscanf(fp,"%*s%*s"); 啥意思?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了fscanf(fp,"%*s%*s"); 啥意思?相关的知识,希望对你有一定的参考价值。
你写错了,“ ”的位置不对,最后一个*s 是用来存放从文件里读到的字符串的空间首地址fscanf(fp,"%*s%",*s);
函数名: fscanf
功 能: 从一个流中执行格式化输入
用 法: int fscanf(FILE *stream, char *format,[argument...]);
int fscanf(文件指针,格式字符串,输入列表);
返回值:整型,数值等于[argument...]的个数 参考技术A fscanf(fp,"%*s%*s");
%*s -- 跳过一个字符串
%*s -- 再 跳过一个字符串
文件内容若是:
abcd 1234 5678 910
文件读指针位置 被搬到 1234 后面了。
若下接
fscanf(fp,"%d",&k); k 读入值是 5678 参考技术B 没有意思,什么也不做。 属于冗余代码。 参考技术C 函数名: fscanf
功 能: 从一个流中执行格式化输入,fscanf遇到空格和换行时结束,注意空格时也结束。这与fgets有区别,fgets遇到空格不结束。
函数名: fscanf
功 能: 从一个流中执行格式化输入,fscanf遇到空格和换行时结束,注意空格时也结束。这与fgets有区别,fgets遇到空格不结束。
返回值:整型,成功返回读入的参数的个数,失败返回EOF(-1)。
用法:
1
int fscanf(FILE*stream,constchar*format,[argument...]);
FILE *stream:文件指针;
char *format:格式字符串;
[argument...]:输入列表。
例如:
1
2
3
4
5
6
7
8
9
FILE* fp;
char a[10];
int b;
double c;
fscanf(fp , "%s %d %lf" , a , &b , &c);
格式字符说明编辑
常用基本参数对照:
%d:读入一个十进制整数.
%i :读入十进制,八进制,十六进制整数,与%d类似,但是在编译时通过数据前置或后置来区分进制,如加入“0x”则是十六进制,加入“0”则为八进制。例如串“031”使用%d时会被算作31,但是使用%i时会算作25.
%u:读入一个无符号十进制整数.
%f %F %g %G : 用来输入实数,可以用小数形式或指数形式输入.
%x %X: 读入十六进制整数.
%o': 读入八进制整数.
%s : 读入一个字符串,遇空字符‘\0'结束。
%c : 读入一个字符。无法读入空值。空格可以被读入。
附加格式说明字符表修饰符说明
L/l 长度修饰符 输入"长"数据
h 长度修饰符 输入"短"数据
示例说明
如果要求从标准输入中输入一串字符串和一个整型数,那么参数“%s%d”表示什么呢?默认情况下,在终端上(这里假设程序为控制台应用程序)输入第一个参数的值的时候敲下回车,则在第二行输入的为第二个参数值,采用这种输入方法那么格式字符的形式就无关紧要了。
这里要特殊说明的是如果参数在同一行给出,那么格式字符的参数与终端的输入会有什么关系。举个例子:如果格式字符为“%s+%d”,那么参数的输入就应该为 string + integer。
以上是关于fscanf(fp,"%*s%*s"); 啥意思?的主要内容,如果未能解决你的问题,请参考以下文章
在C/C++中,fscanf(fp,"%s",temp_str);和fscanf(fp,"%lf",&min_snr);的意思分别是啥?
C语言程序中有一条语句:fscanf(fp, "%*s %*s%*s");这里面的%*s表示啥?
fscanf(fp,"%[^\n]s",&a); %[^\n]s是啥意思呢?字符串?不包含换行的字符串???
fscanf(fp,"%*[^:]:%d%*[^:]:%s",&(p->student_id),p->name)//&是啥意思?