cin和cout是C++中iostream库预定义的输入输出对象,分别连接键盘和屏幕;cin用>>提取数据并跳过空白符,读取类型匹配值,失败则置failbit;cout支持链式输出。

cin 和 cout 是 C++ 最基础、最常用的输入输出工具,它们属于 iostream 库,本质是预定义的对象(不是函数),背后连接着标准输入(键盘)和标准输出(屏幕)。 理解它们的工作机制和常见用法,是写出可交互、可调试程序的第一步。
cin 是 istream 类的对象,用于从标准输入流提取数据。它使用 >>(提取运算符)读取值,按类型自动解析,并默认跳过开头的空格、制表符、换行符等空白字符。
int x; cin >> x; —— 输入 123 或 \n123 都能成功读入 123int a, b; cin >> a >> b; —— 输入 5 8 或 5\n8 都可以,空格或换行都算分隔符cin >> x;(x 是 int)却输入 abc,x 值不变,cin 进入失效状态(failbit 被置位)string s; cin >> s; 输入 Hello World,s 只得到 "Hello"
cout 是 ostream 类的对象,用 (插入运算符)把数据“塞进”输出流。它天然支持链式写法,因为每次 返回的是 cout 自身的引用。
cout —— 可混合字符串、变量、换行控制符
endl 不仅换行,还会刷新缓冲区;如果只需换行,用 "\n" 效率更高cout 改为显示 <code>true/false
cout 输出 <code>ff;之后可用 dec 切回十进制
混合使用 cin >> 和 getline() 时容易出问题——因为 cin >> 不读走最后的换行符,导致后续 getline() 直接读到空行。
立即学习“C++免费学习笔记(深入)”;
string line; getline(cin, line); —— 它读取包括空格的整行,直到遇到 \n(并丢弃该换行符)cin.ignore(); 跳过一个字符;cin.ignore(1000, '\n'); 跳过最多 1000 个字符,直到遇到换行符为止(常用作“吃掉”上一次输入留下的 \n)int age;<br> string name;<br> cin >> age;<br> cin.ignore(); // 把换行符去掉<br> getline(cin, name);
用户输错时(比如要数字却打了字母),cin 会停止读取并设置错误标志,后续所有 cin 操作都会直接失败,除非手动清除。
if (cin.fail()) { ... } 或 if (!cin) { ... }
cin.clear();
cin.ignore(1000, '\n');
int x;<br>
while (!(cin >> x)) {<br>
cin.clear();<br>
cin.ignore(1000, '\n');<br>
cout << "请输入一个有效整数:";<br>
}以上就是c++++的iostream库 cin和cout输入输出流详解【c++入门】的详细内容,更多请关注php中文网其它相关文章!
c++怎么学习?c++怎么入门?c++在哪学?c++怎么学才快?不用担心,这里为大家提供了c++速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号