用fopen函数打开的,且用fprintf写入的。传输txt文件的时候没问题,而传输完doc等文档后却打不开,且提示文档已损坏。什么原因啊?
doc并不是用ASC码编写的,而是二进制文件。如果读取二进制文件,需要在读取的时候,参数后面加b,比如 “rb”。另外,二进制文件的读取结束也比较特殊,需要用到EOF。如果你用文本方式传输2进制,一来会丢弃比特高位转为字符,二来不能很好的结束文件。所以会提示文档损坏。
是不是用fread和fwite函数读取和写入,文件检测就用(p!=EOF)