word又不是文本文档。
如果也像文本文档那样存储的话,word怎么实现字体、颜色之类的功能?
word文档有它自己的存储格式。
因此用fread读取word,目的是读取其内容,但实际读到的还有其他的很多信息,包括格式的等等。但用fread的结果就是将这些附加的内容都给读取进来了,并且都以字符串存储,怎么可能会得到正常的内容呢?乱码也是正常的。
如果楼主要对word文档进行操作,建议先去学习word的api(至于什么是api,自行baidu或google)。。
祝楼主学习顺利。
fread 属于非格式化直接读取,一般用来读取二进制文件,写入时最好用 fwrite 直接写入。具体说,如果有字符串:char str[20] = "Hello";
写文件应该用:
fwrite( s, sizeof(char), 20, fp );
读文件应该用:
char buf[20];
fread( buf, sizeof(char), 20, fp );
你的程序中出现乱码,很可能是没有正确处理字符串末尾的空字符。