C语言中的文件操作(三)

C语言中的文件操作(二)-CSDN博客https://blog.csdn.net/Xiaodao12345djs/article/details/142748215?spm=1001.2014.3001.5501

fputs (文本行输入/写)

  • str 指向要输入的字符串
  • stream 指向要存放字符串的文件
cs 复制代码
#include <stdio.h>

int main()
{
	FILE* pf = fopen("test.txt", "w");
	//如果打开失败,返回空指针NULL
	if (pf == NULL)
	{
		perror("fopen");
		return 1;
	}
	//写操作
	fputs("hello world\n", pf);
	fputs("haha\n", pf);

	//关闭文件
	fclose(pf);
	pf = NULL;
	return 0;
}

fgets (字符串输入/写)

cs 复制代码
#include <stdio.h>

int main()
{
	FILE* pf = fopen("test.txt", "r");
	//如果打开失败,返回空指针NULL
	if (pf == NULL)
	{
		perror("fopen");
		return 1;
	}
	//读操作

	char arr[20] = { 0 };
	fgets(arr, 5, pf);
	printf("%s\n", arr);
	fgets(arr, 5, pf);
	printf("%s\n", arr);

	//关闭文件
	fclose(pf);
	pf = NULL;
	return 0;
}

读取到的字符个数是n-1个+一个'\0',比如上方代码,只会读hell+'\0',然后再继续读4个字符+'\0'

当改成读取20个字符,文件里第一行不够20个字符,只读第一行再只读第二行

相关推荐
_F_y4 小时前
MySQL用C/C++连接
c语言·c++·mysql
BackCatK Chen5 小时前
C语言学习栏目目录
c语言·保姆级教程·c语言入门·c语言学习栏目目录
极客数模6 小时前
【2026美赛赛题初步翻译F题】2026_ICM_Problem_F
大数据·c语言·python·数学建模·matlab
A_nanda7 小时前
c# MOdbus rto读写串口,如何不相互影响
算法·c#·多线程
代码雕刻家9 小时前
2.4.蓝桥杯-分巧克力
算法·蓝桥杯
Ulyanov9 小时前
顶层设计——单脉冲雷达仿真器的灵魂蓝图
python·算法·pyside·仿真系统·单脉冲
请注意这个女生叫小美10 小时前
C语言 斐波那契而数列
c语言
Legendary_00810 小时前
Type-C 一拖二快充线:突破单口限制的技术逻辑
c语言·开发语言
智者知已应修善业10 小时前
【查找字符最大下标以*符号分割以**结束】2024-12-24
c语言·c++·经验分享·笔记·算法
91刘仁德11 小时前
c++类和对象(下)
c语言·jvm·c++·经验分享·笔记·算法