写入数据。数据值读取数据后面的中文就出现了乱码,求高手解答???????在此谢过win32api 文本文件中文乱码

解决方案 »

  1.   

    用了wchar之后。。还是这样会乱码
      

  2.   

    只有ReadFile 和 ReadFileEx 没有你说的这个函数呢,使用ReadFileA提示没有定义
      

  3.   

    _cprintf本身不支持uncode输出,但是这个与输出格式符有关,你换成%ls应该可行
      

  4.   

    你注意一下文件编码问题,是ANSI 还是 utf-8
      

  5.   

    大概默认情况下是ANSI 编码的操作,不强调的话不会是UTF-8 或 unicode
      

  6.   


    忘了,前面需要加上这句话:setlocale(LC_ALL,"chs");头文件:
    #include <locale.h>
      

  7.   


    忘了,前面需要加上这句话:setlocale(LC_ALL,"chs");头文件:
    #include <locale.h>
    按照你说的,我试了下,运行的结果是还是不行。。
      

  8.   

    你的工程是Unicode的,没有注意你的WriteFile函数写入文件是ansi格式的,而不是unicode,所以读取到的数据当然也是ansi的,_cprintf这个函数在unicode工程下输出ansi中文会乱码的,因此你需要保证WriteFile文件中的字符是unicode的,
    wchar_t wcsz[] = _T("win32 api 文件值");
    int BytesOfWrite = _strlen(wcsz) * sizeof(wchar_t);
    WriteFile(hFile, wcsz, ByteOfWrite, ...);
      

  9.   

    如果你觉得多字节麻烦,把你的项目函数、变量全用ANSI这一套的,字符用char,_T这些符号都取消