none
文件读取问题 RRS feed

  • 问题

  •  

    我用此方法读取一个ANIS编码的文本文件

    CStdioFile files;

    CString TempStr;

    files.Open(StrPath,CStdioFile::modeRead);

    files.ReadString(TempStr);

    但显示TempStr时,英文显示正常,中文全是乱码,什么原因?

    2009年1月18日 7:45

答案

  • 程序需要支持UNICODE编码,在project settings下,找到Preprocessor definitions项,把_MBCS删掉,并添加_UNICODE。并且在project settings下,Link里找到Entry-Point Symbol:添加wWinMainCRTStartup

    2009年1月18日 12:42
    版主
  •  

    TempStr是ANSI型的话,要显示的话先用MultiByteToWideChar(ANSI编码转化为Unicode编码的API)就可以了.

    2009年1月18日 14:22
    版主
  • 中文是两个字节一个字

     

    2009年1月19日 5:27
    版主

全部回复

  • 程序需要支持UNICODE编码,在project settings下,找到Preprocessor definitions项,把_MBCS删掉,并添加_UNICODE。并且在project settings下,Link里找到Entry-Point Symbol:添加wWinMainCRTStartup

    2009年1月18日 12:42
    版主
  •  

    TempStr是ANSI型的话,要显示的话先用MultiByteToWideChar(ANSI编码转化为Unicode编码的API)就可以了.

    2009年1月18日 14:22
    版主
  • 中文是两个字节一个字

     

    2009年1月19日 5:27
    版主