数据的定义是: char AA[12012120]={0} ;
然后 在 fwrite 函数中, 新建一个文件并打开,以"wb" 方式 写入
然后 有一个 DWORD icount ; 这样一个定义是 数据的总长度(字节)
然后 ,请问能不能有什么办法,将这个数据 分成2半,写入2 个文件, 如果 fwrite达不到这个效果,请问还有其它函数可以达到吗
因为数据非常大,大的时候有几百M, 所以, 能不能以 数据偏移的方式,来写
以上
非常感谢!
size_t fwrite(const void buffer, size_t size, size_t count, FILE stream);
注意:这个函数以二进制形式对文件进行操作,不局限于文本文件
返回值:返回实际写入的数据块数目
(1)buffer:是一个指针,对fwrite来说,是要获取数据的地址;
(2)size:要写入内容的单字节数;
(3)count:要进行写入size字节的数据项的个数;
(4)stream:目标文件指针;
(5)返回实际写入的数据项个数count。
说明:写入到文件的哪里? 这个与文件的打开模式有关,如果是w+,则是从file pointer指向的地址开始写,替换掉之后的内容,文件的长度可以不变,stream的位置移动count个数;如果是a+,则从文件的末尾开始添加,文件长度加大。
fseek对此函数有作用,但是fwrite[1] 函数写到用户空间缓冲区,并未同步到文件中,所以修改后要将内存与文件同步可以用fflush(FILE *fp)函数同步。
可以跟fseek结合起来用的
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。