+ -
当前位置:首页 → 问答吧 → fwrite写文件多个0d

fwrite写文件多个0d

时间:2010-09-03

来源:互联网

在cygwin和vc测试都一样,输出都多一个0d(用gvim,%!xxd查看)
int main()
{
  FILE* fd=fopen("a.txt","wb");
unsigned char a[] = { 0x00, 0x00, 0x01 };
fwrite(a,1,3,fd);
fclose(fd);
}

a.txt内容:
0000 010d

作者: 源方   发布时间: 2010-09-03

\r 回车

作者: davelv   发布时间: 2010-09-03



QUOTE:
\r 回车
davelv 发表于 2010-09-03 10:10




   可能没说清楚我的意思,我是想问为什么多个回车,我没有写0d,而且是二进制方式写的。

作者: 源方   发布时间: 2010-09-03

用hexdump没有发现多余信息,怀疑是vim自己加上去的

作者: davelv   发布时间: 2010-09-03

本帖最后由 源方 于 2010-09-03 10:55 编辑


QUOTE:
用hexdump没有发现多余信息,怀疑是vim自己加上去的
davelv 发表于 2010-09-03 10:26




    果然如你说的,我测试一下,总是在文件最末加上0d,应该在vim打开文件时指定为二进制方式打开,$vim -b a.txt,我是windows gvim,不知道怎么以二进制打开。

作者: 源方   发布时间: 2010-09-03

windows下可以用winhex这种软件去看二进制文件,ultraedit也可以。

作者: davelv   发布时间: 2010-09-03

相关阅读 更多