01-基础语法/07-输入语句:修订间差异
跳转到导航
跳转到搜索
小 导入1个版本 |
小 导入1个版本 |
| (未显示另一用户的1个中间版本) | |
(没有差异)
| |
2026年5月20日 (三) 18:12的最新版本
基础输入 cin
使用 >> 把输入的内容依次读取到变量中。
int a;
cin >> a;
可以连续读取多个变量:
int a, b, c;
cin >> a >> b >> c;
cin 会以空白字符(空格、换行、制表符)作为分隔,自动区分不同的输入内容。
读取一行 getline
当需要读取包含空格的一整行时,使用 getline:
string s;
getline(cin, s);
getline 与 cin 混用的坑
cin >> x; 读完后会在缓冲区留下一个换行符,紧接着的 getline 会读到这个换行符而得到一个空串。
解决方法:在 cin 之后、getline 之前多加一行 cin.ignore(); 吃掉换行符。
int n;
cin >> n;
cin.ignore(); // 吃掉换行符
string s;
getline(cin, s); // 正确读取一行
读入到文件末尾
有些题目没有告诉你具体有多少个输入,你需要一直读到文件末尾(EOF)。
int x;
while (cin >> x)
{
// 处理 x
}
cin >> x 作为条件时,读成功返回真,读到文件末尾或读失败返回假。
另一种常见写法:
int a, b;
while (cin >> a >> b)
{
cout << a + b << "\n";
}
字符输入
char c;
cin >> c; // 会自动跳过空白字符
// 如果希望读入空白字符(如空格、换行)
c = cin.get();