读书人

关于读取文件乱码的有关问题

发布时间: 2012-04-18 15:01:59 作者: rapoo

关于读取文件乱码的问题
最近在看CFILE类,自己写了点代码,并尝试用通过SOCKET传输。想法是这样的,先从一个机器上选择文件,然后读取该文件的内容,每次读取若干字节,发送给目标机器,然后再读取,再发送。

但是遇到个问题,使用CFILE的Read()函数读取文本文档后,有一部分会是乱码。在百度上查找了下,说是文本文档的编码问题。想知道在MFC里如何设置文本文档的编码,才可以不出现乱码。

还有就是,如果读取其他文件(非文本文档类型),该怎么读取才不会出现乱码或者是无效文件呢?

[解决办法]
像你这种情况,读取的时候应该使用二进制模式读取。
[解决办法]

探讨
引用:
你的文件是什么编码你自己不知道吗?

那如果不是自己的文件呢?

[解决办法]
你按二进制读,再发到目标机器上,目标机器原封不动的按二进制保存,扩展名和源机器上一样.
[解决办法]
全用二进制,看的时候等全读完了,连在一起看,就不会乱码了。

或者用双字节的编码,读的时候二的整数倍读,就不会乱码了。
[解决办法]
读取,保存,方法要一致。传输过程不能出错。一般不会有任何问题。
一般来说,跟用什么方法读/写没有任何关系,毕竟任何信息的都是用0/1表示的。
建议楼主检查一下传输代码。
[解决办法]
“我试了下二进制读取,还是不行,该出现乱码的地方还是出现乱码”?
二进制读取没有乱码的概念。
[解决办法]
我有个疑问:你怎么判断是乱码的?是调试看的,还是显示出来,还是写了文件?

要不把你读文件的代码贴出来看看嘛,也就一两行

读书人网 >VC/MFC

热点推荐