概述
在 C 语言中,文件操作是非常重要的一部分,它允许程序与外部文件进行交互,实现数据的持久化存储。C 语言提供了一系列标准库函数来进行文件的打开、读写和关闭操作。
文件的打开与关闭
打开文件 - fopen()
使用 fopen()
函数可以打开一个文件,该函数的原型如下:
FILE *fopen(const char *filename, const char *mode);
其中,filename
是要打开的文件的名称,mode
是打开文件的模式,常见的模式有:
"r"
:以只读模式打开文件,文件必须存在。"w"
:以写入模式打开文件,如果文件不存在则创建,如果文件存在则清空内容。"a"
:以追加模式打开文件,如果文件不存在则创建,写入的数据会追加到文件末尾。
关闭文件 - fclose()
使用 fclose()
函数可以关闭一个已经打开的文件,该函数的原型如下:
int fclose(FILE *stream);
示例代码:
#include <stdio.h>
int main() {
FILE *fp;
// 以写入模式打开文件
fp = fopen("test.txt", "w");
if (fp == NULL) {
printf("文件打开失败!\n");
return 1;
}
// 关闭文件
fclose(fp);
return 0;
}
文件的读写操作
写入文件 - fputs()
fputs()
函数用于将一个字符串写入文件,函数原型如下:
int fputs(const char *str, FILE *stream);
示例代码:
#include <stdio.h>
int main() {
FILE *fp;
fp = fopen("test.txt", "w");
if (fp == NULL) {
printf("文件打开失败!\n");
return 1;
}
fputs("Hello, World!\n", fp);
fclose(fp);
return 0;
}
读取文件 - fgets()
fgets()
函数用于从文件中读取一行字符串,函数原型如下:
char *fgets(char *str, int n, FILE *stream);
示例代码:
#include <stdio.h>
int main() {
FILE *fp;
char buffer[100];
fp = fopen("test.txt", "r");
if (fp == NULL) {
printf("文件打开失败!\n");
return 1;
}
while (fgets(buffer, sizeof(buffer), fp) != NULL) {
printf("%s", buffer);
}
fclose(fp);
return 0;
}