数组不存储/打印名称的第二部分

时间:2014-12-08 15:46:29

标签: c++

我想在数组中输入名称,然后愿意在屏幕上打印它。代码如下:

char name[20];          
cout << "Please enter name: ";
cin >> name;          
cout << name << endl;

然后在编译之后我输入了名字

Ali Waqas

之后Ali打印在屏幕上,但Waqas没有。 我用这个循环替换了我的cout语句

for(int i=0; i<20; i++){
   cout << name[i];
}

再次打印Ali,但之后打印的是垃圾Waqas

2 个答案:

答案 0 :(得分:2)

这是因为运营商&lt;&lt;跳过白色空间。您可以使用getline()来获得所需的效果。

string str;
getline(cin, str);

答案 1 :(得分:0)

你应该使用

getline()

获得理想的结果。使用当前代码无法获得正确的输出,因为运算符&lt;&lt;忽略了白色空间。你必须使用这种类型的代码

string str;
getline(cin, str);

有关更多详细信息,您必须完成此link