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

 更新时间:2021年11月03日 09:29:51   作者:嵌入式@hxydj  
本文主要介绍了C语言fprintf()函数和fscanf()函数的具体使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

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()函数 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • opencv3/C++基于颜色的目标跟踪方式

    opencv3/C++基于颜色的目标跟踪方式

    今天小编就为大家分享一篇opencv3/C++基于颜色的目标跟踪方式,具有很好的参考价值,希望对的有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • C++实现JPEG格式图片解析(附代码)

    C++实现JPEG格式图片解析(附代码)

    这篇文章主要为大家详细介绍了C++如何实现JPEG格式图片解析功能,文中的示例代码讲解详细,具有一定的学习价值,需要的可以参考一下
    2023-05-05
  • 详解C语言中数据的存储

    详解C语言中数据的存储

    这篇文章主要为大家介绍了C语言中数据的存储,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-11-11
  • 详解C语言中的错误报告errno与其相关应用方法

    详解C语言中的错误报告errno与其相关应用方法

    这篇文章主要介绍了C语言中的错误报告errno与其相关应用方法,包括errno和strerror以及perror的介绍,需要的朋友可以参考下
    2015-08-08
  • C++保存txt文件实现方法代码实例

    C++保存txt文件实现方法代码实例

    这篇文章主要介绍了C++保存txt文件实现方法代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • 对比C语言中memccpy()函数和memcpy()函数的用法

    对比C语言中memccpy()函数和memcpy()函数的用法

    这篇文章主要介绍了对比C语言中memccpy()函数和memcpy()函数的用法,二者都是用于复制内存内容,注意区别,需要的朋友可以参考下
    2015-08-08
  • C++ string类getline()用法实例详解

    C++ string类getline()用法实例详解

    C++ getline()是一种标准库函数,用于从输入流中读取字符串或行,它是<string>标头的一部分,本文介绍C++ string类getline()用法详解,感兴趣的朋友一起看看吧
    2024-03-03
  • C++ 花括号{}初始化小结

    C++ 花括号{}初始化小结

    在C++11及以后的版本中,花括号{}语法在不同语境下有不同的用法,本文就详细的介绍C++ 花括号{}初始化,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • C语言全面梳理结构体知识点

    C语言全面梳理结构体知识点

    结构体是一些值的集合,这些值称为成员变量,结构体的每个成员可以是不同类型的变量。本文将通过示例为大家详细讲讲C语言中结构体的使用,需要的可以参考一下
    2022-07-07
  • C++实例讲解引用的使用

    C++实例讲解引用的使用

    引用是C++一个很重要的特性,顾名思义是某一个变量或对象的别名,对引用的操作与对其所绑定的变量或对象的操作完全等价,这篇文章主要给大家总结介绍了C++中引用的相关知识点,需要的朋友可以参考下
    2022-05-05

最新评论