文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

C语言入门学习之fgets()函数和fputs()函数

2024-04-02 19:55

关注

fgets()函数

fgets()函数和gets()函数一样,都是读取字符串,不过gets()函数通常用来从键盘读取输入的字符串,fgets()函数可以通过文件来读取字符串。下面通一个例子来演示fgets()函数的使用方法。


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("打开成功!");

	fgets(str1,10,in);
	puts(str1);

	
	ret = fclose(in);
	if(ret == 0)
		puts("关闭成功!");
	else
		puts("关闭失败!");


	system("pause");
	return 0;
}

通过fopen()函数打开123.txt文件,然后使用fgets()函数从文件中读取字符串,然后将读取到了字符串打印出来。这里fgets()函数里面有三个参数,第一个参数用来存储读取的字符串内容,第二个参数是需要读取的字节数,第三个参数是待读取的文件指针。

从123.txt文件中读取10个字符打印出来,由于第10个字符是空格,所以打印出来的字符串只能看到9个字符。如果将fgets()函数的第二个参数改大,就可以读取更多的字符内容了。

将读取的字符数量修改为30,就会打印出123.txt文件中全部内容。如果修改fgets()第三个参数为stdin,那么fgets()函数就可以通过键盘读取字符串。

将第三个参数修改为stdin,从标准输入设备中读取数据,也就是从键盘读取。运行程序后,通过键盘输入一组字符串,按下回车键之后,就会打印出刚才输入的字符串。

fputs()函数

fputs()函数,可以用来向文件中写入一个字符串。示例如下:


int main()
{
	FILE *in,*out;
	int ret;
	char ch;
	char str[]="abc 123 def 456";
	char str1[30],str2[30],str3[30];

	
	in = fopen("123.txt","w");
	if(in == NULL)
		puts("打开失败!");
	else
		puts("打开成功!");

	fputs(str,in);

	
	ret = fclose(in);
	if(ret == 0)
		puts("关闭成功!");
	else
		puts("关闭失败!");


	system("pause");
	return 0;
}

以写模式打开123.txt文件,然后使用fputs()函数向文件内写入一个字符串。fputs()函数有两个参数,第一个参数是待写入的字符串,第二个参数是待写入的文件指针。

运行程序后打开123.txt文件,可以看到文件中以前的内容已经被新的字符串覆盖了。这是因为打开文件的时候,是以只写的方式打开的,它会将文件中以前的内容清空,如果向文件中写入内容的时候,不希望清空以前的内容,那么打开文件的时候就需要以追加的形式打开。比如修改打开文件代码:


in = fopen("123.txt","a+");

程序执行完之后,打开123.txt文件,可以看到刚才写入的字符串还在,新添加的字符串紧跟在原来的字符串后面。如果想要新添加的内容再下一行,在添加内容的时候在字符串中可以加上回车换行的转义字符。

总结

到此这篇关于C语言入门学习之fgets()函数和fputs()函数的文章就介绍到这了,更多相关C语言 fgets()函数和fputs()函数内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯