fwrite函数用法详解,C语言文件写入实操教程


fwrite函数是C语言中用于写入二进制数据的函数。它可以将数据块写入文件,而不仅仅是单个字符或字符串。fwrite函数是标准库中的一部分,因此在使用它之前,需要包含头文件。

函数原型如下:

c

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

参数解释:

`ptr`:指向要写入文件的数据的指针。

`size`:要写入的每个数据项的大小(以字节为单位)。

`count`:要写入的数据项的数量。

`stream`:目标文件指针。

返回值:

成功的写入的数据项数量。

下面是一个使用fwrite函数写入数据的示例:

c

include

int main() {

FILE fp;

int data[] = {1, 2, 3, 4, 5};

int n = sizeof(data) / sizeof(data[0]);

fp = fopen("data.bin", "wb");

if (fp == NULL) {

printf("Error opening file!");

return 1;

}

size_t items_written = fwrite(data, sizeof(int), n, fp);

if (items_written != n) {

printf("Error writing to file!");

return 1;

}

fclose(fp);

return 0;

}

在这个例子中,我们创建了一个整数数组,并计算了要写入文件的整数数量。然后,我们打开一个名为“data.bin”的文件以进行二进制写入。如果文件打开失败,则输出错误消息并返回1。

接下来,我们使用fwrite函数将整数数组写入文件。第一个参数是数据数组的指针,第二个参数是每个整数的大小(以字节为单位),第三个参数是要写入的整数数量,第四个参数是文件指针。

我们检查写入的数据项数量是否与预期的数量相同。如果不是,则输出错误消息并返回1。如果写入成功,则关闭文件并返回0。

需要注意的是,fwrite函数可以写入任何类型的数据,而不仅仅是整数。您只需将指针指向要写入的数据,并指定每个数据项的大小和数量即可。

当使用fwrite函数写入文件时,需要注意文件的打开模式。在这个例子中,我们使用“wb”模式打开文件,这意味着我们要以二进制模式写入文件。如果您想以文本模式写入文件,则可以使用“w”模式打开文件。请注意,文本模式和二进制模式在处理换行符时有所不同。在文本模式下,换行符将被转换为平台特定的换行符序列(例如,在Windows上,这将是“\r”)。在二进制模式下,写入和读取的换行符将保持不变。