C ++ char变量2个单词

时间:2011-11-28 19:14:56

标签: c++ string char

#include <iostream>
using namespace std;

void main(){
  char name[20];
  cin>>name;         // when I input "This is" 
  cout<<name<<endl;  // output was "This" 
}

当我输入“This is”时怎么做,输出也是“This is”,而不仅仅是“This”?

1 个答案:

答案 0 :(得分:6)

您可以使用

cin.get( name, 20 );

cin.getline(name, 20);

取决于您是否需要字符串中的新行字符。

编辑:

如果你想进一步简化你的代码,你可以使用字符串而不是字符数组,你不必担心用户超过你的缓冲区大小,即。

string name;
getline(cin, name);
cout << name << endl;

编辑2:

正如David Heffernan在评论中指出的那样,我应该解释为什么它不能按预期为你工作。提取运算符(operator >>)在到达空格字符(在您的情况下为空格)时结束。当到达空字符或文件结尾时,运算符也会终止。