文件操作的基础使用(C 语言)

1.打开与关闭文件

打开文件 FILE* pf = fopen("filename", "mode");

参数说明

  • "filename":文件名(可以带路径);

  • "mode":打开方式,常见如下:

模式含义
"r"只读(文件必须存在)
"w"只写(文件存在则清空原内容,不存在则创建)

fopen 的返回值是一个 FILE* 指针,打开失败时返回 NULL,应及时判断

FILE* pf = fopen("data.txt", "w");
if (pf == NULL)
	{
		perror("fopen");
		return 1;
	}
fclose(pf);
pf = NULL;

2.fgetc 与 fputc 的使用(按字符读写)

fgetc(FILE* pf):每次从文件读取一个字符,返回值类型为 int

  • 成功:返回字符的 ASCII 值;

  • 失败或到达文件末尾:返回 EOF

	FILE* pf = fopen("text.txt", "r");
	if (pf == NULL)
	{
		perror("fopen");
		return 1;
	}
	int ch = 0;
	while ((ch = fgetc(pf)) != EOF)
	{
		printf("%c", ch);

	}
	fclose(pf);
	pf = NULL;
	return 0;

fputc(int ch, FILE* pf):将一个字符写入到文件中

	FILE* pf = fopen("text1,txt", "w");
	if (pf == NULL)
	{
		perror("fopen");
		return 1;
	}
	int i = 0;
	for (i = 'a';i <= 'z'; i++)
	{
		fputc(i, pf);

	}
	fclose(pf);
	pf = NULL;

	return 0;

3.fgets 与 fputs 的使用(按字符串读写)

fgets(char* buf, int size, FILE* pf)

  • 每次从文件中读取最多 size - 1 个字符,保存到 buf 中;

  • 读到换行符或 EOF 时停止;

  • 返回值为 buf 指针,失败时返回 NULL

	FILE* pf = fopen("text1.txt", "r");
	if (pf == NULL)
	{
		perror("fopen");
		return 1;
	}
	char ch[100] = { 0 };
    while(fgets(ch,10,pf)!=NULL)
    {
	printf("%s", ch);
    }
	fclose(pf);
	pf = NULL;
	return 0;

fputs(const char* str, FILE* pf):将字符串写入到文件中(不自动添加换行符)。

	FILE* pf = fopen("text.txt", "w");
	if (pf == NULL)
	{
		perror("fopen");
		return 1;
	}

	fputs("hello word", pf);
	fclose(pf);
	pf = NULL;
	return 0;

总结

函数名功能备注
fopen / fclose打开 / 关闭文件打开失败需检查是否为 NULL
fgetc / fputc按字符读取 / 写入一次一个字符,适合处理二进制或逐字输出
fgets / fputs按行读取 / 写入适合处理文本文件,每次读/写一段字符串
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值