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出来时是乱码 无语中。请教各位大神谢谢
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出来时是乱码 无语中。请教各位大神谢谢
MessageBox(s);
参照一下ascii表,看是不是那些个byte值的对应ascii的值。
怀疑是不是UTF-8的?
那么自然MessageBox显示不正常了,
记事本可以通过文件头BOM知道编码格式,所以显示正常,MessageBox需要Ansi或Unicode-16编码才行。
MessageBox会根据当前工程是否Unicode而宏定义为下列之一:
MessageBoxA需要Ansi编码才行
MessageBoxW要Unicode-16编码才行