c语言

c语言二进制读写文件怎么实现

小亿
174
2023-12-26 10:45:54
栏目: 编程语言

要实现在C语言中二进制读写文件,可以使用以下步骤:

  1. 打开文件:使用fopen函数打开文件,指定文件名和打开模式为二进制模式(例如"rb"表示以二进制只读方式打开文件,"wb"表示以二进制写入方式打开文件)。

  2. 读取文件:使用fread函数从文件中读取数据。该函数的参数包括一个指向保存数据的内存块的指针、每个数据项的大小、数据项的个数以及文件指针。

  3. 写入文件:使用fwrite函数将数据写入文件。该函数的参数包括一个指向要写入的数据的内存块的指针、每个数据项的大小、数据项的个数以及文件指针。

  4. 关闭文件:使用fclose函数关闭文件。

下面是一个示例代码,演示了如何读取一个二进制文件并将其内容写入另一个二进制文件:

#include <stdio.h>

#define BUFFER_SIZE 1024

int main() {
    FILE *inputFile, *outputFile;
    unsigned char buffer[BUFFER_SIZE];
    size_t bytesRead;

    // 打开输入文件(以二进制只读方式)
    inputFile = fopen("input.bin", "rb");
    if (inputFile == NULL) {
        printf("无法打开输入文件\n");
        return 1;
    }

    // 打开输出文件(以二进制写入方式)
    outputFile = fopen("output.bin", "wb");
    if (outputFile == NULL) {
        printf("无法打开输出文件\n");
        fclose(inputFile);
        return 1;
    }

    // 从输入文件读取数据并写入输出文件
    while ((bytesRead = fread(buffer, 1, BUFFER_SIZE, inputFile)) > 0) {
        fwrite(buffer, 1, bytesRead, outputFile);
    }

    // 关闭文件
    fclose(inputFile);
    fclose(outputFile);

    printf("文件读写完成\n");

    return 0;
}

上述代码中,首先使用fopen函数打开输入文件和输出文件。然后,使用fread函数从输入文件读取数据并将其存储在缓冲区中,随后使用fwrite函数将缓冲区中的数据写入输出文件。最后,使用fclose函数关闭文件。

请注意,示例代码中使用了一个缓冲区来暂存读取的数据,以便一次性读取和写入多个数据项,从而提高效率。你可以根据需要调整缓冲区的大小。

0
看了该问题的人还看了