📜  fileC:类别 (1)

📅  最后修改于: 2023-12-03 14:41:11.389000             🧑  作者: Mango

fileC: 类别

概述

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 类别中包含了许多与文件操作相关的函数,熟练掌握这些函数可以大大提高文件操作的效率和准确性。需要注意的是,在进行文件操作时必须手动检查文件是否打开成功,否则会导致不可预测的运行结果。