printf("%s" , s);//输出乱码 果断切换成c++版本的cout发现可以正常输出。于是上网找答案,居然惊讶的发现printf输出字符串是针对char *的,换言之,printf只能输出C语言中的内置数据,string不是c语言内置数据。 更深入的来说:s这个string类型的对象并非单单只有字符串,其内还有许多用于操作的函数,于是&s并非字符串...
1、如果源文件是ANSI(当前代码页936)编码,直接编译; 2、如果源文件是ANSI(当前代码页936)编码但如果有wprintf打印L””的字符串,则需要添加编译选项-finput-charset=gbk; 3、如果源文件是UTF-8,无论带不带BOM,都能正常编译,但打印乱码,需要增加编译选项-fexec-charset=gbk; 4、如果源文件是UTF-16,则如果源...