在C语言中,文件操作主要包括文件的打开、读写、关闭等操作。
fopen
: 用于打开文件,并返回一个文件指针。FILE *fopen(const char *filename, const char *mode);
参数:
filename
:文件名(包括路径)。mode
:打开文件的模式,如 "r"
(读取模式,默认),"w"
(写入模式,如果文件已存在则清空内容),"a"
(追加模式,写入内容在文件末尾),"rb"
,"wb"
,"ab"
等。返回值:成功返回文件指针,失败返回 NULL
。
2. fclose
: 用于关闭打开的文件。
int fclose(FILE *stream);
参数:要关闭的文件指针。
返回值:成功返回0,失败返回非0值。
3. fread
: 用于从文件中读取数据。
size_t fread(void *ptr, size_t size, size_t count, FILE *stream);
参数:
ptr
:指向存储数据的缓冲区的指针。size
:要读取的每个元素的大小,以字节为单位。count
:要读取的元素数量。stream
:要读取的文件指针。返回值:成功返回读取的元素数量,失败返回0。
4. fwrite
: 用于向文件中写入数据。
size_t fwrite(const void *ptr, size_t size, size_t count, FILE *stream);
参数:
ptr
:指向要写入的数据的指针。size
:每个元素的大小,以字节为单位。count
:要写入的元素数量。stream
:要写入的文件指针。返回值:成功返回写入的元素数量,失败返回0。
5. fprintf
: 用于将格式化的数据写入文件。
int fprintf(FILE *stream, const char *format, ...);
参数:
stream
:要写入的文件指针。format
:格式化字符串。...
:要写入的数据。返回值:成功返回写入的字符数量,失败返回负值。
6. fscanf
: 用于从文件中读取格式化的数据。
int fscanf(FILE *stream, const char *format, ...);
参数:
stream
:要读取的文件指针。format
:格式化字符串。...
:要读取的数据。返回值:成功返回匹配的项数,失败返回负值。
#include
int main() {
FILE *file;
char ch;
// 打开文件
file = fopen("example.txt", "r");
if (file == NULL) {
printf("无法打开文件\n");
return 1;
}
// 读取文件内容
while ((ch = fgetc(file)) != EOF) {
printf("%c", ch);
}
// 关闭文件
fclose(file);
return 0;
}
这个程序做了以下几件事:
fopen
函数打开名为 “example.txt” 的文件,模式为 “r”,表示只读。如果文件不存在或无法打开,fopen
将返回 NULL
。fgetc
函数从文件中读取一个字符,直到到达文件末尾(EOF
)。每次读取后,它都打印出字符。fclose
函数关闭文件。这是很重要的,因为如果你不关闭文件,可能会导致数据丢失或其他问题。