c语言fwrite函数的总结

头文件:#include

函数原型:size_t fwrite(const void *buffer, size_t size, size_t count, FILE *stream);

参数:

    buffer:是一个指针,对fwrite来说,是获取数据的地址;

    size:要写入内容的每个数据项的字节数,单位是字节;

    count:要写入count个数据项,每个数据项size个字节;

    stream:目标文件指针。

返回值:

    返回实际写入的数据项个数count。

说明:

    该函数把流写入到文件的哪里?这个与文件的打开模式有关,如果是w+,则是从file pointer指向的地址开始写,替换掉之后的内容,文件的长度可以不变,stream的位置移动count个数;如果是a+,则从文件的末尾开始添加,文件长度加大。

    fseek对此函数有作用,但是fwrite函数写到用户空间缓冲区,并未同步到文件中,所以修改后要将内存与文件同步,可以要fflush(FILE *fp)函数同步。

程序实例:

//程序示例 fwrite fread fseek
#include 
int main ()
{FILE *fp;char msg[] = "file content";char buf[20];fp = fopen("d:\\a\\a.txt","w+");if (NULL == fp){printf("The file doesn't exist!\n");return -1;}fwrite(msg,strlen(msg),1,fp);//把字符串内容写入到文件fseek(fp,0,SEEK_SET);//定位文件指针到文件开始位置fread(buf,strlen(msg),1,fp);//把文件内容读入到缓存buf[strlen(msg)] = '\0';//删除缓存内多余的空间printf("buf = %s\n",buf);printf("strlen(buf) = %d\n",strlen(buf));return 0;
}



本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部