关于读取文件乱码的问题
最近在看CFILE类,自己写了点代码,并尝试用通过SOCKET传输。想法是这样的,先从一个机器上选择文件,然后读取该文件的内容,每次读取若干字节,发送给目标机器,然后再读取,再发送。
但是遇到个问题,使用CFILE的Read()函数读取文本文档后,有一部分会是乱码。在百度上查找了下,说是文本文档的编码问题。想知道在MFC里如何设置文本文档的编码,才可以不出现乱码。
还有就是,如果读取其他文件(非文本文档类型),该怎么读取才不会出现乱码或者是无效文件呢?
[解决办法]
像你这种情况,读取的时候应该使用二进制模式读取。
[解决办法]
[解决办法]
你按二进制读,再发到目标机器上,目标机器原封不动的按二进制保存,扩展名和源机器上一样.
[解决办法]
全用二进制,看的时候等全读完了,连在一起看,就不会乱码了。
或者用双字节的编码,读的时候二的整数倍读,就不会乱码了。
[解决办法]
读取,保存,方法要一致。传输过程不能出错。一般不会有任何问题。
一般来说,跟用什么方法读/写没有任何关系,毕竟任何信息的都是用0/1表示的。
建议楼主检查一下传输代码。
[解决办法]
“我试了下二进制读取,还是不行,该出现乱码的地方还是出现乱码”?
二进制读取没有乱码的概念。
[解决办法]
我有个疑问:你怎么判断是乱码的?是调试看的,还是显示出来,还是写了文件?
要不把你读文件的代码贴出来看看嘛,也就一两行