C语言fprintf()函数和fscanf()函数的具体使用
作者:嵌入式@hxydj
fprintf()函数
在C语言中常用使用的打印函数是printf()函数,这个多用于给控制台打印数据,如果需要将内容直接打印到某个文件中的时候,可以使用fprintf()函数。它有两个参数,第一个参数为待写入的文件指针,第二个参数为待写入的内容。下面通过一个简单的例子来演示它的用法。
int main() { FILE *in,*out; int ret; char ch; /* 打开文件 */ in = fopen("123.txt","a+"); if(in == NULL) puts("打开失败!"); else puts("打开成功!"); fprintf(in," hello world"); /* 关闭文件 */ ret = fclose(in); if(ret == 0) puts("关闭成功!"); else puts("关闭失败!"); system("pause"); return 0; }
首先以追加的方式打开一个文本文件123.txt,然后在使用fprintf()函数向文件里面追加字符串。最后关闭打开的文件。
程序执行完成之后,打开123.txt文件,可以看到程序已经在原来的字符串后面追加了一个字符串。fprintf()函数中第一个参数的文件,不仅仅指的是文档,也可以是显示器。在C语言中键盘和显示器也可以是文件。
比如在上面的例子中,可以将fprintf()的第一个参数修改为stdout,这样字符串就会打印在终端上。
fscanf()函数
scanf()函数用于从键盘读取数据,fscanf()函数则用来从文件中读取数据。比如可以将上面的例子修改为,使用fscanf()函数从文件中读取数据。
int main() { FILE *in,*out; int ret; char ch; char str1[30],str2[30],str3[30]; /* 打开文件 */ in = fopen("123.txt","r"); if(in == NULL) puts("打开失败!"); else puts("打开成功!"); fscanf(in,"%s %s %s",str1,str2,str3); puts(str1); puts(str2); puts(str3); /* 关闭文件 */ ret = fclose(in); if(ret == 0) puts("关闭成功!"); else puts("关闭失败!"); system("pause"); return 0; }
打开123.txt文件,然后使用fscanf()函数读取文件中的字符串,然后再将读取的字符串打印出来。这里fscanf()中有三个参数,第一个参数是要读取的文件指针,第二个参数是要读取数据的格式,第三个参数是读取的数据存放位置。由于123.txt文件中总共有3组字符串,所以第二个参数里面写了三次,同样第三个参数存储字符串的数组也写了三个。因为fscanf()函数在读取字符串的时候是以空格结束的,如果只使用一个%s的话,只能读出来第一个字符串。
fscanf()函数也可以从键盘读取数据,将fscanf()函数的第一个参数改为标准输入stdin,就可以从键盘读取数据了。
运行程序后,通过键盘输入三个字符串,以空格隔开,按下回车键之后,就会打印出通过fscanf()函数从标准输入设备,也就是从键盘上读取的三个字符串了
到此这篇关于C语言fprintf()函数和fscanf()函数的具体使用的文章就介绍到这了,更多相关C语言fprintf()函数和fscanf()函数 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!