b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

fscanf 字符_fscanf函数_fscanf读取一行字符串

电脑杂谈  发布时间:2016-11-27 04:03:51  来源:网络整理

int fscanf(FILE*stream, const char* format, …)

功能: 从stream流中连续读取能够匹配format式的字符到参数列表中对应的变量里。

参数: “stream”是FILE指针类型变量,它指向一个真实的流对象。

“format”是C字符串,由“空”、“非空”及“转换符”组成。fscanf 字符具体式为%[*][width][modifiers]type。。

“…”是与“format”中“转换符”对应变量地址的列表,两地址间用逗号隔开。

返回:成功时返回从流中读取成功的数据的个数。失败时返回-1(Debian Linux)。

头文件:<stdio.h>

fscanf()的format参数允许的式为:“%[*][width][modifiers]type”。[]中的内容根据需要供选,可缺省,%type必须要有,不可省。

%:是format参数的起始符号,不可缺少。

%[modifiers]type:表一种类型转换符,如%hd表示short int类型转换符。它是format的核心。转换符的作用是将“数据”转换为转换符代表的数据类型,这里提到的数据必须能够转换为转换符代表的数据类型,fscanf读取数据时也只匹配这样的数据。如pF指向一文件,其中只包含数据[123 [空] 456],用“fscanf(pF, “%d”, &m);”语句是将123这个数据转换为转换符”%d”所代表的数据类型即整型后保存到&m地址中去。

%*[modifiers]type: 表示跳过stream流中能够被转换为[modifiers]type所代表数据类型的数据不读,如在以上的文件中,用“fscanf(pF, “%*d%d”, &m);”就可以跳过对123的读取,而将456转换为整型后保存到&m地址中。%*m[modifiers]type表跳过stream流中能够被转换为[modifiers]type所代表数据类型的m个“字符”不读。如“fscanf(pF,“%*1d%d”, &m);”是将23转换为整型后保存到&m地址中去。

%width[modifiers]type:表示从stream流中读取width长度的“字符”来转换为[modifiers]type对应数据类型的数据。如“fscanf(pF, “%1d”, &m);”是将1转换为整型后保存到&m地址中去。

fscanf()可以用于读取文件流中的数据。现设有一个文件内容如下,

Figure1:ffReadFile.dat文件

拥有3个数字行的最后一个数字决定拥有两个数字的行数。用fscanf()函数读取其内的内容以笔记到fscanf()函数的用法。

用fopen成功打开ffReadFile.dat文件后,单用以下语句读取文件的第一行内容:

re	= fscanf(pF, "%d%d%d", &oLine.p, &oLine.l, &oLine.x);
if( 3 == re){
        //Print on stdout
        printf("%d\t%d\t%d\n", oLine.p, oLine.l, oLine.x);
}
此时,可以正确的打印第一行内容到屏幕之上。fscanf()函数读取第一行三个数据的过程如下:


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-22018-1.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...