📅  最后修改于: 2023-12-03 14:41:11.389000             🧑  作者: Mango
fileC
类别表示与文件相关的操作,包括文件读写、文件类型判断等。在日常开发中,文件操作是非常常见的,因此熟悉 fileC
类别的函数是非常重要的。
fopen
fopen
函数是用来打开文件的,它的原型如下:
FILE *fopen(const char *filename, const char *mode);
其中,filename
表示要打开的文件名,mode
表示文件的打开模式,常见的有以下几种:
"r"
:只读模式"w"
:只写模式(会清空原有内容)"a"
:追加模式(不清空原有内容)"rb"
:二进制只读模式"wb"
:二进制只写模式(会清空原有内容)"ab"
:二进制追加模式(不清空原有内容)FILE *fp = fopen("test.txt", "w");
if (fp == NULL) {
printf("无法打开文件!\n");
}
fclose
fclose
函数是用来关闭文件的,它的原型如下:
int fclose(FILE *stream);
其中,stream
表示要关闭的文件指针。
fclose(fp);
fgets
fgets
函数是用来从文件中读取一行的,它的原型如下:
char *fgets(char *str, int n, FILE *stream);
其中,str
是用来存储读取到的字符串的缓冲区,n
是缓冲区的大小,stream
是要读取的文件指针。
char str[100];
fgets(str, 100, fp);
fputs
fputs
函数是用来向文件中写入字符串的,它的原型如下:
int fputs(const char *str, FILE *stream);
其中,str
是要写入的字符串,stream
是要写入的文件指针。
fputs("Hello, world!\n", fp);
feof
feof
函数用来判断文件是否已经读到结尾。它的原型如下:
int feof(FILE *stream);
其中,stream
是要判断的文件指针。
while (!feof(fp)) {
fgets(str, 100, fp);
printf("%s", str);
}
fread
fread
函数是用来从文件中读取二进制数据的,它的原型如下:
size_t fread(void *ptr, size_t size, size_t count, FILE *stream);
其中,ptr
是用来存储读取到的数据的缓冲区,size
是每个数据项的大小,count
是要读取的数据项的个数,stream
是要读取的文件指针。
int arr[5];
fread(arr, sizeof(int), 5, fp);
fwrite
fwrite
函数是用来向文件中写入二进制数据的,它的原型如下:
size_t fwrite(const void *ptr, size_t size, size_t count, FILE *stream);
其中,ptr
是要写入的数据缓冲区,size
是每个数据项的大小,count
是要写入的数据项的个数,stream
是要写入的文件指针。
int arr[5] = {1, 2, 3, 4, 5};
fwrite(arr, sizeof(int), 5, fp);
fileC
类别中包含了许多与文件操作相关的函数,熟练掌握这些函数可以大大提高文件操作的效率和准确性。需要注意的是,在进行文件操作时必须手动检查文件是否打开成功,否则会导致不可预测的运行结果。