开发者社区> 问答> 正文

关于 VC++ 将 数据分成 2 半 输入到2个文件

数据的定义是: char AA[12012120]={0} ;
然后 在 fwrite 函数中, 新建一个文件并打开,以"wb" 方式 写入
然后 有一个 DWORD icount ; 这样一个定义是 数据的总长度(字节)
然后 ,请问能不能有什么办法,将这个数据 分成2半,写入2 个文件, 如果 fwrite达不到这个效果,请问还有其它函数可以达到吗
因为数据非常大,大的时候有几百M, 所以, 能不能以 数据偏移的方式,来写
以上
非常感谢!

展开
收起
a123456678 2016-03-04 11:20:41 2023 0
1 条回答
写回答
取消 提交回答
  • 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结合起来用的

    2019-07-17 18:51:59
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
使用C++11开发PHP7扩展 立即下载
GPON Class C++ SFP O;T Transce 立即下载
GPON Class C++ SFP OLT Transce 立即下载