欢迎来到代码驿站!

C代码

当前位置:首页 > 软件编程 > C代码

C语言fprintf()函数和fscanf()函数的具体使用

时间:2022-04-24 10:17:34|栏目:C代码|点击:

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语言编程之thread多线程

栏    目:C代码

下一篇:C++实现LeetCode(107.二叉树层序遍历之二)

本文标题:C语言fprintf()函数和fscanf()函数的具体使用

本文地址:http://www.codeinn.net/misctech/200094.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有