#include <iostream>
using namespace std;
void main(){
char name[20];
cin>>name; // when I input "This is"
cout<<name<<endl; // output was "This"
}
Run Code Online (Sandbox Code Playgroud)
当我输入"This is"时怎么做,输出也是"This is",不仅仅是"This"?
你可以用
cin.get( name, 20 );
Run Code Online (Sandbox Code Playgroud)
要么
cin.getline(name, 20);
Run Code Online (Sandbox Code Playgroud)
取决于您是否需要字符串中的新行字符.
编辑:
如果你想进一步简化你的代码,你可以使用字符串而不是char数组,你不必担心用户超过你的缓冲区大小,即.
string name;
getline(cin, name);
cout << name << endl;
Run Code Online (Sandbox Code Playgroud)
编辑2:
正如David Heffernan在评论中指出的那样,我应该解释为什么它不能按预期为你工作.operator >>当到达空格字符(在你的情况下是一个空格)时,提取operator()结束.当到达空字符或文件结尾时,运算符也会终止.
| 归档时间: |
|
| 查看次数: |
981 次 |
| 最近记录: |