我在用CStdioFile ReadString 读取文件时,总是出现乱码,转换成UNICODE之后,还是不行,请各位看看到底什么地方出问题啦,请各位大哥,给点调试通过的代码,谢谢

解决方案 »

  1.   

    我读的是txt文件,到底该怎么样解决啊
      

  2.   

    用这一句试试setlocale( LC_CTYPE, ("chs"));CStdioFile 处理unicode 有 bug
      

  3.   

    CStdioFile file;
    CString strFile;
    if (!file.Open(strPath, CFile::modeRead | CFile::typeText ))
    {
    #ifdef _DEBUG
    afxDump << "打开文件失败" << "\n";
    #endif
    exit(1);
    }
    while(file.ReadString(strFile))
    {
        ReadConversion(strFile);
    }
    很简单,但是总是乱码
      

  4.   

    或者参考一下这篇文章http://hi.baidu.com/willowrain/blog/item/89c72f5194c2f48c8c543039.html
      

  5.   

    setlocale( LC_CTYPE, ("chs")); 这句我用了,但是还是不行
      

  6.   

    http://hi.baidu.com/willowrain/blog/item/89c72f5194c2f48c8c543039.html
    这种方法也用了,但是还是不行
      

  7.   

    这段代码没有问题,应该是文件格式的问题,你将文件另存为ansi试试!
      

  8.   

    CStdioFile对unicode支持又不好,还是用CFile只来的来做吧
      

  9.   

    MFC,OpenGL高手请进: http://topic.csdn.net/u/20100531/20/fe55580f-977b-4e59-83d9-c5261ad44568.html
      

  10.   

    你可以用unicode editor看看这个文件,是不是已经坏了,如果没坏,这个工具可以正确打开
    你可以把代码和文件发给我,我帮你调试一下
    [email protected]
      

  11.   

     这个种问题在VC6.0上是不会出现的,在VS2008上就出现乱码。