📜  C++ fwrite()(1)

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

C++ fwrite()介绍

简介

fwrite()函数是C++标准库提供的一个函数,用于将二进制数据写入文件中。它通常用于处理二进制文件,如图像、音频、视频等,而不是处理文本文件。

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

参数:

  • ptr:需要写入文件的数据的指针。
  • size:每个数据项的字节数。
  • count:数据项的个数。
  • stream:目标文件指针。

返回值:

  • 返回实际写入的数据项个数。
使用步骤
  1. 创建一个指向目标文件的文件指针。
    FILE *file = fopen("filename", "wb"); // 打开一个二进制文件并返回一个文件指针
  1. 准备好一些需要写入的数据。
    int nums[] = {1, 2, 3, 4, 5};
  1. 调用fwrite()函数,将数据写入文件中。
    int numcount = sizeof(nums)/sizeof(int);
    fwrite(nums, sizeof(int), numcount, file);
  1. 关闭文件指针。
    fclose(file);

完整代码:

#include <stdio.h>
#include <stdlib.h>


int main() {
    FILE *file = fopen("test.bin", "wb");
    if (file == NULL) {
        printf("Cannot open file.\n");
        exit(1);
    }
    int nums[] = {1, 2, 3, 4, 5};
    int numcount = sizeof(nums)/sizeof(int);
    fwrite(nums, sizeof(int), numcount, file);
    fclose(file);
    return 0;
}
注意事项
  • fwrite()函数是二进制写入,不是文本写入。不要在二进制文件中写入文本数据,也不要在文本文件中写入二进制数据。
  • 在写入数据时,要注意每个数据项的字节数,否则会导致写入数据错误。
  • 在使用fwrite()函数时,要确保文件指针指向正确的文件,否则可能会写入到错误的文件中。