C语言:文件操作

这篇博客介绍了C语言中的文件操作,包括文件的打开、读写和关闭,以及如何使用`fopen_s`、`fprintf`和`sprintf`进行格式化输出。此外,还讲解了变参数函数如`printf`系列函数的使用。示例代码展示了如何写入和读取整数数组到文本文件。最后提到了二进制文件和链表序列化的概念。
摘要由CSDN通过智能技术生成

文件操作

1.文件
一般指存储在外部介质上的数据集合,比如我们经常使用的txt,bmp,ipg,exe,rmvb等等。通常将他们存放在磁盘或者可移动盘等介质中。文件是操作系统存放数据的最小单位,数据的输入设备,输出设备。数据的输入输出伴随着整个系统。数据流:输入流和输出流,文本流和二进制流。
C语言文件操作三部曲:打开文件(FILE*fopen),读写文件,关闭文件。
2.变参数函数
变参数函数
3.

int printf(const char* ptr,...);//三个点代表可变参数,参数个数不定,格式化后的字符串存放到输出设备里面
int sprintf(char* buff, const char* ptr,...);//格式化后的字符串存放到buff里面
int fprintf(FILE* fp, const char* ptr,...);//格式化后的字符串存放到输出设备里面
int sprintf(char* buff, const char* ptr, ...)//格式化字符串函数
{

}
int main()
{
	int a = 10, b = 20;
	char buff[30];
	int len = sprintf(buff, "a=%d b=%d \n", a, b);//len返回字符串长度
}
//atoi 字符串转换为整型 itoa 整型转换为字符串

4.写文件和读文件

#include<stdio.h>

int SaveData()//写入数据
{
	int ar[] = { 12,23,34,4,5,56,67,78,89,90,100 };
	int n = sizeof(ar) / sizeof(ar[0]);
	FILE* fp = nullptr;
	//fp = fopen("yhp.txt","w");//内核区
	errno_t res = fopen_s(&fp, "D:\\yhp.txt", "w");
	if (fp == nullptr)
	{
		printf("fopen file error %d \n", res);
		return 1;
	}
	for (int i = 0; i < n; ++i)
	{
		//printf("%d", ar[i]);//stdout
		fprintf(fp, "%5d ", ar[i]);
	}
	fclose(fp);//fp变成了失效指针
	fp = nullptr;
	return 0;
}
int LoadData()//读取数据
{
	int ar[10] = { 12,23,34,4,5,56,67,78,89,90,100 };
	int n = sizeof(ar) / sizeof(ar[0]);
	FILE* fp = nullptr;
	//fp = fopen("yhp.txt","w");//内核区
	errno_t res = fopen_s(&fp, "D:\\yhp.txt", "r");
	if (fp == nullptr)
	{
		printf("fopen file error %d \n", res);
		return 1;
	}
	for (int i = 0; i < n; ++i)
	{
		//scanf("%d ", &ar[i]);//stdin
		//fscanf(stdin, "%d ", &ar[i]);//数据回显到屏幕
		fscanf_s(fp, "%d ", &ar[i]);
	}
	fclose(fp);//fp变成了失效指针
	fp = nullptr;
	return 0;
}

5.二进制文件
链表的序列化和反序列化
协议
scanf以空格键作为结束
fgets以回车键作为结束

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值