读到 EOF
int a, b;
while (cin >> a >> b) {
cout << a + b << '\n';
}当输入里还有完整的一组 a b 时,循环继续;读不到下一组时,循环自然结束。
token 与整行
cin >> s 按空白切 token,遇到空格就停;getline(cin, s) 读取一整行,适合句子、路径、带空格的内容。
cin 后接 getline
int n;
cin >> n;
string s;
getline(cin, s); // 吃掉上一行换行
getline(cin, s); // 真正读取整行这不是玄学,是因为 cin >> n 读完数字后,行尾换行还留在输入流里。