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