fscanf读取规则,fscanf函数读取字符串

http://www.itjxue.com  2023-01-23 15:08  来源:未知  点击次数: 

fscanf函数是怎么从文件里读取数据的?

从一个流中执行格式化输入,fscanf遇到空格和换行时结束,注意空格时也结束。

fscanf(FILE*stream,constchar*format,[argument...]),根据 format参数来控制读取什么类型的数值。“%s”则是读取字符串,遇空格换行结束,"%c"则是读取单个字符。

fscanf 读取文件

fscanf(fp,"%d",n);

它的作用是从fp读取一个整数,存入n变量。

你就把它当作scanf("%d",n)来理解就行了,只不过fscanf(fp,"%d",n);是从fp文件读取,而scanf("%d",n);是从键盘读取,除此之外,两个函数是相同。

因为

for(i=0;i3;i++) fprintf(fp,"%d",a[i]);

将数组a的三个数字依次写入文件fp,并且数字之间没有分隔符,所以这三个数字会连在一起,也就是123,这样,后面的fscanf()读取时,当然会读取出123这个数字,而不是1

C语言 fprintf和fscanf 语法规则是什么

fprintf函数:

头文件:#include stdio.h

定义函数:int fprintf(FILE * stream, const char * format, ...);

函数说明:fprintf()会根据参数format 字符串来转换并格式化数据, 然后将结果输出到参数stream 指定的文件中, 直到出现字符串结束('\0')为止。

返回值:关于参数format 字符串的格式请参考printf(). 成功则返回实际输出的字符数, 失败则返回-1, 错误原因存于errno 中.

范例

#include stdio.h

main()

{

? ? int i = 150;

? ? int j = -100;

? ? double k = 3.14159;

? ? fprintf(stdout, "%d %f %x \n", j, k, i);

? ? fprintf(stdout, "%2d %*d\n", i, 2, i);

}

执行:

-100 3.141590 96

150 150

fscanf函数:

功 能: 从一个流中执行格式化输入,fscanf遇到空格和换行时结束,注意空格时也结束。

用 法:int fscanf(FILE *stream, char *format,[argument...]);

int fscanf(文件指针,格式字符串,输入列表);

for example:

FILE*fp;

chara[10];

intb;

doublec;

fscanf(fp,"%s%d%lf",a,b,c)

返回值:整型,数值等于[argument...]的个数

其中的format就是相当于正则表达式中的格式,即用什么样的格式来分隔文件中的信息。

(责任编辑:IT教学网)

更多

推荐广告特效文章