c语言编程笔录

您现在的位置是:首页 > C语言 > C#

C#

c语言文件读写操作有哪些?

黄芸欢 2023-08-09C#
前言在C语言中,我们可以使用多种方式进行文件读写操作。文件读写是与外部设备交互的一种重要方式,通过读写操作,我们可以将程序中的数据存储到文件中,或者从文件中读取数据到程序中进行处理。在

前言

在C语言中,我们可以使用多种方式进行文件读写操作。文件读写是与外部设备交互的一种重要方式,通过读写操作,我们可以将程序中的数据存储到文件中,或者从文件中读取数据到程序中进行处理。在本篇文章中,我们将介绍C语言中常用的文件读写操作方式。

1. fopen和fclose函数

fopen函数是用于打开文件的函数,其原型如下:

FILE *fopen(const char *filename, const char *mode);

其中,filename是要打开的文件名,mode是表示打开方式的字符串,例如"r"表示只读模式,"w"表示写入模式等。

fclose函数是用于关闭文件的函数,其原型如下:

int fclose(FILE *stream);

其中,stream是要关闭的文件指针。

下面是一个使用fopen和fclose函数进行文件读写的示例:

#include 

int main() {
    FILE *file = fopen("file.txt", "w");
    if (file == NULL) {
        printf("文件打开失败\n");
        return 0;
    }

    fprintf(file, "Hello, World!");

    fclose(file);

    return 0;
}

2. fprintf和fscanf函数

fprintf函数用于将格式化的数据写入文件,其原型如下:

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

其中,stream是要写入的文件指针,format是格式化字符串,类似于printf函数。

fscanf函数用于从文件中读取格式化的数据,其原型如下:

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

其中,stream是要读取的文件指针,format是格式化字符串,类似于scanf函数。

下面是一个使用fprintf和fscanf函数进行文件读写的示例:

#include 

int main() {
    FILE *file = fopen("file.txt", "w");
    if (file == NULL) {
        printf("文件打开失败\n");
        return 0;
    }

    fprintf(file, "%s\n", "Hello, World!");

    fclose(file);

    file = fopen("file.txt", "r");
    if (file == NULL) {
        printf("文件打开失败\n");
        return 0;
    }

    char buffer[100];
    fscanf(file, "%s", buffer);
    printf("读取到的内容:%s\n", buffer);

    fclose(file);

    return 0;
}

3. fread和fwrite函数

fread函数用于从文件中读取数据,其原型如下:

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

其中,ptr是接收数据的缓冲区指针,size是每个数据项的大小,count是要读取的数据项个数,stream是要读取的文件指针。

fwrite函数用于将数据写入文件,其原型如下:

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

其中,ptr是要写入的数据的指针,size是每个数据项的大小,count是要写入的数据项个数,stream是要写入的文件指针。

下面是一个使用fread和fwrite函数进行文件读写的示例:

#include 

typedef struct {
    int id;
    char name[20];
} Student;

int main() {
    Student students[3] = {
        {1, "Tom"},
        {2, "Jerry"},
        {3, "Alice"}
    };

    FILE *file = fopen("students.bin", "wb");
    if (file == NULL) {
        printf("文件打开失败\n");
        return 0;
    }

    fwrite(students, sizeof(Student), 3, file);

    fclose(file);

    file = fopen("students.bin", "rb");
    if (file == NULL) {
        printf("文件打开失败\n");
        return 0;
    }

    Student buffer[3];
    fread(buffer, sizeof(Student), 3, file);
    for (int i = 0; i < 3; i++) {
        printf("学生ID:%d,学生姓名:%s\n", buffer[i].id, buffer[i].name);
    }

    fclose(file);

    return 0;
}

总结

C语言中文件读写操作是非常重要的,通过文件读写,我们可以实现数据的持久化存储和与外部设备的交互。本文介绍了常用的文件读写操作方式,包括使用fopen和fclose函数打开和关闭文件、使用fprintf和fscanf函数进行格式化的文件读写以及使用fread和fwrite函数进行二进制文件的读写。掌握这些文件读写操作方式,可以帮助我们更好地处理文件相关的任务。

文章评论