是不是这样 CFile m_File;
m_File.Open(m_FilePath,CFile ::modeRead | CFile::typeBinary); m_StrLength=m_File.GetLength();
char *fileRead=new char[m_StrLength+1];
fileRead[m_StrLength]=0;
m_File.Read(fileRead,m_StrLength);
然后我调试看到fileread 里面是乱码呢? 只有几个字符。用2进制读取文件是不是任何类型的都行? 我读的EXE型的!为什么啊?
m_File.Open(m_FilePath,CFile ::modeRead | CFile::typeBinary); m_StrLength=m_File.GetLength();
char *fileRead=new char[m_StrLength+1];
fileRead[m_StrLength]=0;
m_File.Read(fileRead,m_StrLength);
然后我调试看到fileread 里面是乱码呢? 只有几个字符。用2进制读取文件是不是任何类型的都行? 我读的EXE型的!为什么啊?
对
>>然后我调试看到fileread 里面是乱码呢?
exe的文件其内容就是二进制,就是乱码。
==========
既然是二进制的文件,当然是乱码了。可显字符是指编码是ASCII码那部分的数据。
BYTE保存的的东西,我能将它转换CString类型,然后发送出去,接收的时候转换为BYTE行吗?但是我调试了一下:
我 BYTE fileRead[400000];fileRead[0]='M';
fileRead[1]='Z';
fileRead[2]='?';
fileRead[3]=0;
。。
到了红色标记处 CString 就没了! 怎么办??
========
CString也是处理字符串,而字符串是遇到0就结束的。