C语言文件操作

在C语言中,文件操作主要包括文件的打开、读写、关闭等操作。

基本操作函数

  1. 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;
}

这个程序做了以下几件事:

  1. 使用 fopen 函数打开名为 “example.txt” 的文件,模式为 “r”,表示只读。如果文件不存在或无法打开,fopen 将返回 NULL
  2. 使用 fgetc 函数从文件中读取一个字符,直到到达文件末尾(EOF)。每次读取后,它都打印出字符。
  3. 使用 fclose 函数关闭文件。这是很重要的,因为如果你不关闭文件,可能会导致数据丢失或其他问题。

你可能感兴趣的:(C/C++,c语言)