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个字符,只读第一行再只读第二行

相关推荐
朔北之忘 Clancy1 分钟前
第一章 顺序结构程序设计(2)
c++·算法·青少年编程·竞赛·教材·考级·讲义
小程同学>o<6 分钟前
嵌入式之C语言面试题(一)基本概念及其它问答题
c语言·面试·职场和发展·嵌入式软件·c语言面试
橘颂TA6 分钟前
【剑斩OFFER】算法的暴力美学——力扣 1046 题:最后一块石头的重量
算法·leetcode·职场和发展
ldccorpora8 分钟前
GALE Phase 1 Distillation Training数据集介绍,官网编号LDC2007T20
人工智能·深度学习·算法·机器学习·自然语言处理·语音识别
有一个好名字10 分钟前
力扣- 统计二叉树中好节点的数目
算法·leetcode·职场和发展
jghhh0123 分钟前
三维热传导方程和泊松方程的有限元方法MATLAB实现
开发语言·算法·matlab
fengfuyao98536 分钟前
基于拥挤距离的多目标粒子群优化算法 (MOPSO-CD)
算法
老鼠只爱大米37 分钟前
LeetCode经典算法面试题 #238:除自身以外数组的乘积(左右乘积数组法、分治法等多种方法详解)
算法·leetcode·分治法·算法面试·除自身以外数组的乘积·前缀乘积·左右乘积数组法
qianbo_insist1 小时前
Mask R-CNN Fast-ReID 结合
人工智能·算法·cnn