#include <iostream>
#include <string>
using namespace std;
string mystring1, mystring2, mystring3 = "grové";
int main(){
mystring1 = "grové";
getline( cin, mystring2 ); //Here I type "grové" (without "")
cout << "mystring1= " << mystring1 << endl;
cout << "mystring2= " << mystring2 << endl;
cout << "mystring3= " << mystring3 << endl;
return 0;
}
上述代码的输出为:
mystring1 = grov8
mystring2 =grové
mystring3 = grov8
虽然当我在这里剪切并粘贴代码时,它会显示为:
mystring1 =grovΘ
mystring2 =grové
mystring3 =grovΘ
为什么mystring2的内容与mystring1和mystring3不同?
答案 0 :(得分:5)
假设您使用Microsoft Windows:您的源代码的编码与Windows命令行的编码不同。
在命令行中键入 chcp 以查看当前控制台代码页。 (我的是850)
您有三种选择:
答案 1 :(得分:0)
Windows控制台有cp 866(可能是西里尔文)编码,你的文件有其他(UTF-8或CP1251(我的西里尔文))。
您可以使用Win API函数来解决此问题