FILE *fp;
fopen_s( &fp,"c:\\3.txt", "w" );
BYTE cc[100];
memset(cc,0,100);
cc[0]=229;
cc[1]=133;
  cc[2]=168;
  cc[3]=231;
  cc[4]=144;
  cc[5]=131;
  cc[6]=233;
  cc[7]=128;
  cc[8]=154;
fwrite(cc,9,1,fp);
MessageBox((LPCSTR)cc);
fclose(fp);
写在文件中的  是 全球通   但是MessageBox出来时是乱码  无语中。请教各位大神谢谢

解决方案 »

  1.   

    没用的。LPCSTR==const char *..........
      

  2.   

    #define MessageBox  MessageBoxA ..........
      

  3.   

    CString s=cc;
    MessageBox(s);
      

  4.   

    LPCSTR是char型的值,
    参照一下ascii表,看是不是那些个byte值的对应ascii的值。
      

  5.   

    我测试了一下,你那个9Byte数据,既不是Ansi也不是Unicode-16编码;
    怀疑是不是UTF-8的?
    那么自然MessageBox显示不正常了,
    记事本可以通过文件头BOM知道编码格式,所以显示正常,MessageBox需要Ansi或Unicode-16编码才行。
      

  6.   

    已确认编码格式为UTF-8
    MessageBox会根据当前工程是否Unicode而宏定义为下列之一:
    MessageBoxA需要Ansi编码才行
    MessageBoxW要Unicode-16编码才行