用 CStdioFiel::ReadString 读入"0010010111101",后用CFile::Write写入到文件中,为什么是乱码呢?
我该如何,从一个文件中一行一行读取字符,再存储在一个二进制文件呢?

解决方案 »

  1.   

    1、
    CStdioFiel::ReadString读入的是CString或者LPTSTR类型
    CFile::Write写入的是void*类型,
    要注意正确的类型转换哦既然是写入,为什么不直接用CStdioFiel::WriteString呢。2、
    楼主是不是想把字符串"0010010111101"转换成二进制数值:0010010111101,然后写入文件?
    如果是这样,乱码很正常啊。你需要用类似UE的二进制编辑工具打开文件才能看到二进制(可能以十六进制显示)的结果。
      

  2.   

    本质上文本文件也是二进制文件
    比如 CString str="0010010111101“
    你用CStdioFile.WriteString(str)
     和用CFile.Write((char *)str,str.GetLength());效果是一样的
    读取也是一样的道理!