是不是这样   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型的!为什么啊?

解决方案 »

  1.   

    EXE读进来都是二进制,本身就是一些乱码,又不是有意义的字符
      

  2.   

    要转换为ASCII才能看如ue;hexwin等
      

  3.   

    >>用2进制读取文件是不是任何类型的都行?

    >>然后我调试看到fileread   里面是乱码呢?
    exe的文件其内容就是二进制,就是乱码。
      

  4.   

    然后我调试看到fileread   里面是乱码呢?     只有几个字符。用2进制读取文件是不是任何类型的都行?     我读的EXE型的! 
    ==========
    既然是二进制的文件,当然是乱码了。可显字符是指编码是ASCII码那部分的数据。
      

  5.   


    BYTE保存的的东西,我能将它转换CString类型,然后发送出去,接收的时候转换为BYTE行吗?但是我调试了一下:
    我 BYTE fileRead[400000];fileRead[0]='M';
    fileRead[1]='Z';
    fileRead[2]='?';
    fileRead[3]=0;
       。。
    到了红色标记处 CString 就没了!   怎么办??
      

  6.   

    到了红色标记处 CString 就没了!
    ========
    CString也是处理字符串,而字符串是遇到0就结束的。