c语言中的fscanf是啥意思,详解C语言中fgets和fscanf区别

fscanf函数是C语言的文件格式读取函数的方法之一,它使用空格、制表符和回车来分割不同的单词,这样可以让我们使用起来更方便,下面就让爱站技术频道小编带你来学习详解C语言中fgets和fscanf区别吧!

详解C语言中fgets和fscanf区别

一、作用上的大概区别:

①fgets:从文件中读取一行数据存入缓冲区(fgets遇到回车才会结束,不对空格和回车做任何转换就录入到缓冲区,结束后再往缓冲区写多一个\0,所以它是读一行数据)

②fscanf:从文件中读取一段数据存入缓冲区(fscanf遇到空格或回车就结束,它会把空格或回车转换为\0,所以它是读一小段数据)

二、举个例子:把a.txt文件中的内容复制到b.txt。

a.txt中的内容(第一行中“我爱你小白”和“开玩笑”中间有个空格,每行的最后都有回车):

我爱你小白 开玩笑

哈哈

开玩笑

1、使用fgets读取a.txt文件并写入到b.txt的程序片段:

FILE *f1 = fopen("a.txt", "r");//只读方式打开a.txt,该文件必须存在

FILE *f2 = fopen("b.txt", "w");//以只写方式打开b.txt,该文件可以不存在

if (f1 == NULL)//如果文件不存在,直接结束

{

return 0;

}

char buf[1024] = { 0 };//缓冲区

while (!feof(f1))

你可能感兴趣的:(c语言中的fscanf是啥意思)