• C语言文件操作


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

    基本操作函数

    1. fopen: 用于打开文件,并返回一个文件指针。
    FILE *fopen(const char *filename, const char *mode);
    
    • 1

    参数:

    • filename:文件名(包括路径)。
    • mode:打开文件的模式,如 "r"(读取模式,默认),"w"(写入模式,如果文件已存在则清空内容),"a"(追加模式,写入内容在文件末尾),"rb""wb""ab" 等。

    返回值:成功返回文件指针,失败返回 NULL
    2. fclose: 用于关闭打开的文件。

    int fclose(FILE *stream);
    
    • 1

    参数:要关闭的文件指针。

    返回值:成功返回0,失败返回非0值。
    3. fread: 用于从文件中读取数据。

    size_t fread(void *ptr, size_t size, size_t count, FILE *stream);
    
    • 1

    参数:

    • ptr:指向存储数据的缓冲区的指针。
    • size:要读取的每个元素的大小,以字节为单位。
    • count:要读取的元素数量。
    • stream:要读取的文件指针。

    返回值:成功返回读取的元素数量,失败返回0。
    4. fwrite: 用于向文件中写入数据。

    size_t fwrite(const void *ptr, size_t size, size_t count, FILE *stream);
    
    • 1

    参数:

    • ptr:指向要写入的数据的指针。
    • size:每个元素的大小,以字节为单位。
    • count:要写入的元素数量。
    • stream:要写入的文件指针。

    返回值:成功返回写入的元素数量,失败返回0。
    5. fprintf: 用于将格式化的数据写入文件。

    int fprintf(FILE *stream, const char *format, ...);
    
    • 1

    参数:

    • stream:要写入的文件指针。
    • format:格式化字符串。
    • ...:要写入的数据。

    返回值:成功返回写入的字符数量,失败返回负值。
    6. fscanf: 用于从文件中读取格式化的数据。

    int fscanf(FILE *stream, const char *format, ...);
    
    • 1

    参数:

    • 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
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

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

    1. 使用 fopen 函数打开名为 “example.txt” 的文件,模式为 “r”,表示只读。如果文件不存在或无法打开,fopen 将返回 NULL
    2. 使用 fgetc 函数从文件中读取一个字符,直到到达文件末尾(EOF)。每次读取后,它都打印出字符。
    3. 使用 fclose 函数关闭文件。这是很重要的,因为如果你不关闭文件,可能会导致数据丢失或其他问题。
  • 相关阅读:
    MASC: Multi-scale Affinity with Sparse Convolution for 3D Instance Segmentation
    [思维][dfs]Find the Maximum 第46届icpc区域赛昆明站F
    Optional用法与争议点
    分类算法系列⑤:决策树
    Shiro使用详解
    java juc面试题一般问什么?juc面试分析
    【行为型模式】备忘录模式
    Devops学习Day1--概念
    MYSQL入门与进阶(三)
    macOS 卸载被锁的FortiClient软件步骤
  • 原文地址:https://blog.csdn.net/scy518/article/details/134324235