关于char*与unicode
没有定义UNICODE
如下char *c= "w我知道 ";
strlen(c)返回7;
而cout < <c;
却可以显示 w我知道
那么程序怎么知道我的第一个字用1个字节来读取,而后面的用2个字节来读取呢?
也就是说编译器通过生成什么代码来处理在一个字符串中有ansi字母和unicode字母的问题呢?
[解决办法]
输出中文并不是你的程序干的,你的程序只是输出了7个字节而已。是系统来判断的输出,然后显示成中文的。双字节文字的第一个字节最高位为1。