读一个词
约 8 分钟
用 cin >> s 读字符串时,它遇到空格就停下来了,所以一次只能读到一个词。比如输入 Li Ming,它只会读到 Li,后面的 Ming 被留下了。
#include <iostream>
#include <string>
using namespace std;
int main() {
string word;
cin >> word; // 输入 Li Ming
cout << word << endl; // 只输出 Li
return 0;
}
如果想把带空格的一整行都读进来,要用 getline(cin, s)。常见的坑是:读姓名、地址这种带空格的内容时用 cin >>,结果只拿到前半截,还纳闷后面去哪了。要整行就换 getline。
小纸条
想读整行该怎么办?
登录 后可看答案