📅  最后修改于: 2023-12-03 14:59:39.086000             🧑  作者: Mango
fwrite
是C语言中的一个标准库函数,用于将数据块写入文件。它与fread
函数一样,都是二进制文件 I/O 的基础,可以在平台无关的方式下进行二进制文件的读写。fwrite
函数的语法如下:
size_t fwrite(const void *ptr, size_t size, size_t count, FILE *stream);
ptr
: 要写入的数据的指针,类型为 const void*
。 数据在内存中的布局应该是字节数组,即 char*
类型。如果数据类型不是 char*
类型,则需要进行强制类型转换。size
: ptr
中一个元素的大小(即包含多少字节),类型为 size_t
。count
: 要写入 size
字节的元素的数量,类型为 size_t
。stream
: FILE
类型的指针,表示要写入的文件。函数返回值为实际写入的元素数。
下面的示例展示了如何使用fwrite
函数:
#include <stdio.h>
int main() {
FILE *fp;
char str[] = "This is a test\n";
fp = fopen("file.txt", "wb");
fwrite(str, sizeof(str[0]), sizeof(str)/sizeof(str[0]), fp);
fclose(fp);
return 0;
}
这个程序创建了一个文件file.txt
,并向其中写入字符串 "This is a test"。
fwrite
函数不会生成任何文件头信息,任何文件格式的特定文件头需要另外处理。fwrite
写入文件时只会写入指定的数据量。如果指定的数量小于写入数据的大小,则可能会导致未写入所有的数据。如果写入失败,则会返回错误。以上是使用 fwrite
函数进行二进制文件写入的简单介绍,希望对您有所帮助。