fwrite
函数 <cstdio>
size_t fwrite ( const void * ptr, size_t size, size_t count, FILE * stream );
将数据块写入流
把ptr指向的内存块count个元素的数组写到流中的当前位置,每个元素的大小为size字节。
流的位置指示符按写入的总字节数移动。
在内部,该函数将ptr指向的块解释为unsigned char类型元素的数组(size*count),
并将它们按顺序写入流,就像为每个字节调用了
fputc一样。
☲ 参数
str
指向用来写的元素数组的指针,转换为const void*。
size
用来写的每个元素的字节大小。
size_t是一个无符号整型。
count
元素的数量,每个元素的大小为size字节。
size_t是一个无符号整型。
stream
指向指定输出流的
FILE对象的指针。
☉ 返回值
返回成功写入的元素总数。
如果这个数字与count参数不同,则写入错误会阻止函数完成。在这种情况下,将为流设置错误指示符(
ferror)。
如果size或count为零,则函数返回零,错误指示符保持不变。
size_t是一个无符号整型。
☣ 示例
/* fwrite example : write buffer */
#include <stdio.h>
int main ()
{
FILE * pFile;
char buffer[] = { 'x' , 'y' , 'z' };
pFile = fopen ("myfile.bin", "wb");
fwrite (buffer , sizeof(char), sizeof(buffer), pFile);
fclose (pFile);
return 0;
}
|
将创建一个名为myfile.bin的文件,并将缓冲区的内容存储在其中。为简单起见,缓冲区包含char元素,但它可以包含任何其他类型。
Sizeof (buffer)是以字节为单位的数组长度(在本例中为3,因为数组有三个元素,每个元素都是一个字节)。
🍄 另请参阅