我有以下代码示例:
#include <iostream>
int main() {
char test[] = "êêê"; // test[10] won't compile. Use test[13] or just test[]
std::cout << "The string " << test << " consists of " << sizeof test << " bytes: ";
for (std::size_t n = 0; n < sizeof test; ++n)
std::cout << std::hex << +(unsigned char)test[n] << ' ';
std::cout << '\n';
}
在像cpp.sh这样的c ++在线shell上给出了以下结果:
The string êêê consists of 7 bytes: c3 aa c3 aa c3 aa 0
当我在VS2013上尝试时,它给了我结果:
The string êêê consists of 7 bytes: a8 ba a8 ba a8 ba 0
有人可以向我解释为什么会这样,以及如何解决这个问题?我试图改变字符集,但它仍然给出了相同的东西。