控制台输入
控制台输入主要通过标准输入流 std::cin 实现,属于 <iostream> 头文件的一部分。
基本输入方式
使用 std::cin 从标准输入(通常是键盘)读取数据。
cpp
#include <iostream>
int main() {
int num;
std::cin >> num; // 读取一个整数
}>>是提取运算符(extraction operator),会跳过前导空白字符(空格、换行、制表符等),直到读到实际内容。- 自动根据类型识别输入,当遇到不符合该类型格式的字符时停止读取,该字符会保留在输入缓冲区中。。
读取一行文本
使用 std::getline() 读取缓冲区中的内容,包括空格,直到遇到 \n 为止。:
cpp
#include <iostream>
#include <string>
int main() {
std::string line;
std::getline(std::cin, line); // 读取一整行,包括空格
}如果在 cin >> 后使用 getline(),需先清除缓冲区中的换行符(可用 cin.ignore())。
输入验证于错误处理
cin 在输入类型不匹配时会进入失败状态(failbit 被设置):
cpp
int x;
if ( !(std::cin >> x) ) {
std::cout << "输入无效!\n";
std::cin.clear(); // 清除错误标志
std::cin.ignore(1000, '\n'); // 忽略错误输入直到换行
}