在C语言中,文件操作是一个重要的概念,它允许程序与外部文件进行交互。C语言提供了一系列的库函数来执行文件的基础操作,如打开文件、读写文件、关闭文件等。以下是一些C语言文件基础操作的示例:
1. 打开文件
在C语言中,使用fopen
函数来打开一个文件。该函数需要两个参数:文件名和打开模式。
#include <stdio.h>
int main() {
FILE *file = fopen("example.txt", "r"); // 以只读模式打开文件
if (file == NULL) {
perror("Error opening file");
return 1;
}
// 文件操作...
fclose(file); // 关闭文件
return 0;
}
2. 读写文件
读取文件
使用fscanf
, fgets
, 或者 fread
等函数来从文件中读取数据。
#include <stdio.h>
int main() {
FILE *file = fopen("example.txt", "r");
if (file == NULL) {
perror("Error opening file");
return 1;
}
char buffer[100];
while (fgets(buffer, sizeof(buffer), file) != NULL) {
printf("%s", buffer);
}
fclose(file);
return 0;
}
写入文件
使用fprintf
, fputs
, 或者 fwrite
等函数来向文件中写入数据。
#include <stdio.h>
int main() {
FILE *file = fopen("example.txt", "w"); // 以写入模式打开文件,会覆盖原有内容
if (file == NULL) {
perror("Error opening file");
return 1;
}
fprintf(file, "Hello, World!\n");
fclose(file);
return 0;
}
3. 关闭文件
使用fclose
函数来关闭一个已打开的文件。关闭文件是一个好习惯,因为它会释放系统资源,并确保所有的数据都被正确地写入到文件中。
4. 其他文件操作函数
feof(FILE *stream)
: 检查文件是否已到达文件末尾。ferror(FILE *stream)
: 检查文件操作是否有错误发生。clearerr(FILE *stream)
: 清除文件错误标志和文件结束标志。fseek(FILE *stream, long offset, int whence)
: 设置文件位置指针的位置。ftell(FILE *stream)
: 获取当前文件位置指针的位置。rewind(FILE *stream)
: 将文件位置指针重置到文件的开头。
注意事项:
- 确保在打开文件后始终检查文件指针是否为
NULL
,以避免对空指针进行操作,这可能导致程序崩溃。 - 在完成文件操作后,始终记得关闭文件以释放资源。