DWORD dwWrites;
HANDLE hFile;
TCHAR tcBuffer[] = _T("无与伦比"); hFile = CreateFile(_T("C:\\_Test.txt"), GENERIC_WRITE, 0, NULL, OPEN_ALWAYS,
FILE_ATTRIBUTE_NORMAL, NULL);
WriteFile(hFile, tcBuffer, _tcslen(tcBuffer)*sizeof(TCHAR), &dwWrites, NULL);
CloseHandle(hFile); return nRetCode;
结果一看是乱码

解决方案 »

  1.   

    你打开txt时不是用的unicode
    你可以先在文件头写个值为 0xfeff的两字节WORD,或者是0xffef? 忘了
      

  2.   

    没说清楚:windows的笔记本程序打开txt文件默认不是用unicode码,必须在文件头加上0xffef(或0xfeff,忘了),它才会以unicode的方式去打开它。
      

  3.   

    写入文件时,不能写unicode字符,得写ansi字符
    先转换成多字节的
    WideCharToMultiByte
      

  4.   

    oakfire 你的答案是正解 搞定了.. 在结贴之前我还想问个问题. 
    wprintf(UNICODE下的_tprintf)这个函数 怎么能正常显示汉字?