(一)fwrite函数的基本说明
fwrite()是一个C库函数,它的全称是file write,是将一段信息写入到文件中的函数;它是以二进制文件模式以字节流方式来写入文件。
(二)fwrite函数的基本格式:
size_t fwrite(const void* pointer, size_t size, size_t num,FILE* stream);
其中:
(1)pointer为要写入的数据的地址;
(2)size是每块数据的大小(以字节为单位);
(3)num是要写入的数据块的个数;
(4)stream为写入的文件对象。
(三)fwrite函数的用法
fwrite函数的一般用法如下:
(1)首先要打开相应的文件用fopen函数,并返回与此文件相关的文件指针;
(2)将要写入的数据以相应的格式装载到内存中,然后指定要写入文件的数据大小和具体数据;
(3)将数据写入文件,并得到实际写入数据的个数;
(4)最后关闭相应的文件用fclose函数释放文件指针。
(四)fwrite函数的例子
例1:
#include
int main()
{
char* s = "Hello World
";
FILE* fp = NULL;
if( (fp = fopen("data.txt","wb"))==NULL )
return -1;
int ret = 0;
ret = fwrite(s,sizeof(char),strlen(s),fp);
if(ret != 0)
{
printf("Write data succeeds! The number of data wrote is %d
",ret);
}
else
{
printf("Write data failed!
");
}
fclose(fp);
return 0;
}
以上就是关于fwrite函数的基本用法的详细介绍。如果想正确使用fwrite函数,必须要明确每块数据的大小(以字节为单位)及要写入的文件,并在写入完成后关闭文件。
1. fwrite函数是一个针对二进制文件的写函数,它用来把数据写入到文件中。它的函数原型形式为:fwrite(ptr, size, nmemb, stream),其中ptr为要写入的缓冲区,size为每个写入块的字节数,nmemb为写入块的个数,stream为文件指针,指向输入文件。
2. 当调用fwrite函数时,首先会判断stream文件指针是否为空。如果stream文件指针为空,则不写入数据,并直接返回false;如果stream文件指针不为空,则进入到fwrite函数的内部处理函数实现程序中。
3. fwrite函数内部处理具体过程如下:
(1)调用_fseek函数,定位stream文件指针到要写入的位置;
(2)调用_write函数,把指定大小和数量的字节写入stream文件指针指定的位置;
(3)调用freset函数,刷新stream文件指针,保证stream文件指针的正确性,并返回写入的个数。
4. 当fwrite函数执行完毕后,它会根据上述步骤的处理结果,返回一个具体的值来表示函数的执行成功情况,当处理成功时,函数就会返回写入的块数(1~nmemb),若写入失败,则返回0。