【C语言】熟悉文件顺序读写函数

前言

本篇详细介绍了 文件顺序读写常用函数,快来看看吧~

欢迎关注个人主页:逸狼


创造不易,可以点点赞吗~

如有错误,欢迎指出~


目录

前言

​编辑

文件顺序读写函数

fgetc函数

示例

fputc函数

逐个字符写入

写入26个字母

文件拷贝

fgets函数

fputs函数

读键盘上的字符,再打印在屏幕上

fprintf函数

示例

fscanf函数

示例

fwrite函数

示例

fread函数

示例

sprintf函数

示例

sscanf函数

示例

函数对比

scanf与printf

fscanf与fprintf

sscanf与sprintf


文件顺序读写函数

fgetc函数

用于读取文件内的单个字符

示例

fputc函数

用于将单个字符写入文件中

逐个字符写入

写入26个字母

文件拷贝

写一个代码,完成将data1.txt文件的内容 拷贝一份生成data2.txt

复制代码
#include<stdio.h>
int main()
{
	FILE* pfread = fopen("data1.txt", "r");
	if (pfread == NULL)
	{
		perror("fopen->data1.txt");
		return 1;
	}
	FILE* pfwrite = fopen("data2.txt", "w");
	if (pfwrite == NULL)
	{
		fclose(pfread);//判断为真后,要将pfread置为空指针
		pfread = NULL;
		perror("fopen->data2.txt");
		return 1;
	}
	//数据的读写(拷贝)
	int ch = 0;
	//每读一个字符就放入ch中,直到读完为止
	while ((ch = fgetc(pfread)) != EOF)
	{
		fputc(ch, pfwrite);//写入data2.txt文件中
	}
	fclose(pfread);
	fclose(pfwrite);
	return 0;
}

fgets函数

读取一行字符

复制代码
#include<stdio.h>
int main()
{
	FILE* pf = fopen("data.txt", "r");
	if (pf == NULL)
	{
		perror("fopen->data1.txt");
		return 1;
	}
	//读一行
	//最多读num-1个字符,第num个字符放\0
	char arr[20] = "xxxxxxxxxxxxx";
	fgets(arr, 10, pf);

	fclose(pf);
	pf = NULL;

}

fputs函数

写入一行字符

复制代码
#include<stdio.h>
int main()
{
	FILE* pf = fopen("data.txt", "w");
	if (pf == NULL)
	{
		perror("fopen->data1.txt");
		return 1;
	}
	//写文件  写一行
	fputs("abcdef\n", pf);
	fputs("abcdef\n", pf);
	fputs("abcdef\n", pf);

	fclose(pf);
	pf = NULL;

}

读键盘上的字符,再打印在屏幕上

fprintf函数

格式化打印在文件上 ,参数比printf 多了一个文件指针

示例

fscanf函数

示例

fwrite函数

以二进制形式写文件

示例

fread函数

以二进制形式读文件

示例

sprintf函数

将格式化数据转换成字符串

示例

sscanf函数

读取字符串并放入标准化数据中

示例

函数对比

scanf与printf

  • scanf针对标准输入(键盘)的格式化输入函数
  • printf 针对标准输出(屏幕)的格式化输出函数

fscanf与fprintf

  • fscanf针对所有输入流的格式化输入的函数
  • fprintf 针对所有输出流的格式化输出的函数

sscanf与sprintf

  • sscanf 从一个字符串读取一个格式化的数据
  • sprintf 把一个格式化的数据转换成字符串
相关推荐
其实防守也摸鱼5 分钟前
Cylab在线靶场——CTF中的通用技能
linux·数据库·学习·算法·靶场·ctf·学习网络安全
蓝悦无人机21 分钟前
《Planning algorithms》读书笔记——第8章 反馈运动规划
算法·读书笔记·反馈运动规划
toooooop830 分钟前
CentOS 7 内核 3.10.0-1160.119.1 升级指南
linux·运维·centos
RaaS10037 分钟前
Agent Skills 进了 Linux Foundation:2.8 亿次安装,但装 skill 还没有安全规范
人工智能·算法·架构
码少女1 小时前
Linux——UDP协议和TCP协议
linux·网络·udp·tcp
CV爱数码1 小时前
CT 重建从零开始(五):ASTRA Toolbox 上手——几何、投影器与算法
图像处理·算法·计算机视觉·ct
TunerT_TQ1 小时前
超立方体Ramsey(openai/math 家族171)H11攻坚日志|D60–D69:Star分组重数、二幂坐标群、奇偶入射语义与Site‑Level候选计数形式化闭环
算法
GeW1 小时前
新质生产力发展路线图Linux、数据库、AI 一个都不能少
linux
kkkkkkkkkk_Z1 小时前
新手自学嵌入式 | 学习日记:Linux驱动复习之系统移植(U-Boot篇)
linux·运维·学习
Rabitebla1 小时前
【系统性学习笔记】Linux 权限篇(二):文件属性、权限修改与目录权限的底层逻辑
linux·c++·笔记·学习·算法