- 前言
- [1. 文件打开模式](#1. 文件打开模式)
- [2. 示例代码](#2. 示例代码)
-
- [2.1 打开和关闭文件](#2.1 打开和关闭文件)
- [2.2 读写文件](#2.2 读写文件)
- [2.3 二进制文件操作](#2.3 二进制文件操作)
- 结语
#include<GUIQU.h>
int main
{
上期回顾: 【C语言回顾】动态内存管理
个人主页:C_GUIQU
专栏:【C语言学习】
return 一键三连;
}
前言
各位小伙伴大家好!上期小编给大家讲解了C语言中的动态内存管理,接下来我们讲解一下文件操作!
在C语言中,文件操作是程序设计中非常重要的一部分。C语言提供了一套标准的输入输出库(stdio.h),通过这个库,我们可以实现文件的读取、写入、修改等操作。
以下是C语言文件操作的一些基本函数和它们的简要说明:
fopen()
:打开一个文件,返回一个指向该文件的文件指针。fclose()
:关闭一个已经打开的文件。fprintf()
:向文件中写入格式化的数据。fscanf()
:从文件中读取格式化的数据。fread()
:从文件中读取一块数据。fwrite()
:向文件中写入一块数据。fseek()
:设置文件读写位置。ftell()
:返回当前文件读写位置。rewind()
:将文件读写位置设置到文件开头。feof()
:检测是否到达文件末尾。
1. 文件打开模式
在fopen()
函数中,我们可以指定文件的打开模式,常见的模式有:
r
:只读模式打开文件,文件必须存在。w
:写入模式打开文件,如果文件不存在则创建,如果文件已存在则清空。a
:追加模式打开文件,如果文件不存在则创建,写入的数据会被添加到文件末尾。r+
:读写模式打开文件,文件必须存在。w+
:读写模式打开文件,如果文件不存在则创建,如果文件已存在则清空。a+
:读写追加模式打开文件,如果文件不存在则创建,写入的数据会被添加到文件末尾。
2. 示例代码
2.1 打开和关闭文件
c
#include <stdio.h>
int main() {
FILE *fp;
fp = fopen("example.txt", "w"); // 以写入模式打开文件
if (fp == NULL) {
perror("Error opening file");
return -1;
}
fclose(fp); // 关闭文件
return 0;
}
2.2 读写文件
c
#include <stdio.h>
int main() {
FILE *fp;
char str[] = "Hello, world!";
fp = fopen("example.txt", "w"); // 以写入模式打开文件
fprintf(fp, "%s", str); // 向文件中写入字符串
fclose(fp); // 关闭文件
fp = fopen("example.txt", "r"); // 以读取模式打开文件
char buffer[100];
fgets(buffer, 100, fp); // 从文件中读取字符串
printf("%s", buffer); // 输出读取的字符串
fclose(fp); // 关闭文件
return 0;
}
2.3 二进制文件操作
c
#include <stdio.h>
typedef struct {
int id;
char name[20];
} Person;
int main() {
Person people[2] = {
{1, "Alice"},
{2, "Bob"}
};
FILE *fp = fopen("people.bin", "wb"); // 以二进制写入模式打开文件
fwrite(people, sizeof(Person), 2, fp); // 向文件中写入数据
fclose(fp); // 关闭文件
Person new_people[2];
fp = fopen("people.bin", "rb"); // 以二进制读取模式打开文件
fread(new_people, sizeof(Person), 2, fp); // 从文件中读取数据
fclose(fp); // 关闭文件
for (int i = 0; i < 2; i++) {
printf("ID: %d, Name: %s\n", new_people[i].id, new_people[i].name);
}
return 0;
}
结语
以上就是小编对文件操作的详细讲解。
如果觉得小编讲的还可以,还请一键三连。互三必回!
持续更新中~!