代码1、 int a;
cin>>a;
char b[10];
cin>>b;
代码2、 int a;
cin>>a;
char b[10];
cin.getline(b,10);
我看书上说cin 见到换行符结束然后换行符留在了输入序列中,那为什么为什么代码1不会出现问题,而代码2会出现问题?
关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率

已采纳
c++中cin,cin.getline()中换行符问题
收起
- 写回答
- 好问题 1 提建议
- 关注问题
微信扫一扫
点击复制链接分享
- 邀请回答
- 编辑 收藏 删除 结题
- 收藏 举报
2条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
爬金字塔的人 2014-05-05 09:11关注原因很简单,因为cin自动把enter忽略了,而cin.getline不行,因为默认是遇到'\n'就结束读入,您可以尝试这样:
void main()
{
int a ;
(cin >> a).get();//把遗留下来的'/n'去掉。
char b[10];
cin.getline(b,10);
cout << a << endl
<< b << endl;
}本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 1无用举报微信扫一扫
点击复制链接分享
编辑预览轻敲空格完成输入- 显示为
- 卡片
- 标题
- 链接
评论按下Enter换行,Ctrl+Enter发表内容
编辑
预览

轻敲空格完成输入
- 显示为
- 卡片
- 标题
- 链接
报告相同问题?
提交
- 2023-10-19 14:55wang_nn的博客 在 ACM 模式的题目编程中,我们需要自己解决程序的输入与输出问题。我们自己解决程序的输入其实就是从键盘输入数据,然后将输入的数据传递我们定义的变量。本主要介绍cin、cin.get()、cin.getline() 以及 getline() ...
- 2021-12-02 09:35佬酒的博客 cin.getline() 接收一个字符串,可以接收空格并输出 cin.get() 接收一个字符串,结束符默认为回车键 getlin() 接收一个字符串,可以接收空格并输出,需包含“#include” 1、cin>> cin是将标准输入流...
- 2024-12-09 08:46进击的编程浪人的博客 综上所述,确实读取从缓冲区开始到遇到换行符前的所有内容,并且会丢弃换行符。它是一种方便的方式来读取一行字符串输入,非常适用于需要读取文本行的场景。
- 2024-07-28 03:52你好,此用户已存在的博客 从标准输入读取单个或者是多个变量(以空格、制表符、换行符隔开),尤其是整型变量,或者从多行读取整型变量到数组,使用 cin。从标准输入读取单个字符,推荐使用输入流中的 cin.get()。从标准输入读取单行字符串、...
- 2020-08-24 17:09上面的语句将读取一行输入,直到读取到换行符或 EOF 为止,然后将输入的字符串存储在 string 对象 line 中。 三、实例代码 下面是一个使用 cin.getline 和 getline() 函数的实例代码: ```cpp #include #include...
- 2023-04-01 14:13「已注销」的博客 cin与cin.getline和cin.get的整理
- 2022-08-10 09:05莫名的情绪焦躁的博客 C++中cin、cin.get()、cin.getline()、getline()函数的用法
- 2021-07-10 07:17初学者清水的博客 1.cin>> 1.1cin>>用法1:最基本,也是最常用的用法,输入一个数字: #include <iostream> using namespace std; main () { int a,b; cin>>a>>b; cout<<a+b<<endl; } ...
- 2025-03-14 03:16成风693的博客 特性cincin.get()读取方式以空白字符为分隔符读取单个字符读取一行字符读取一行字符处理空白字符忽略前导空白字符不忽略空白字符不忽略空白字符不忽略空白字符换行符处理不读取换行符读取换行符并移除读取换行符但不...
- 2018-05-14 07:51啊大1号的博客 测试平台g++ 5.4.0和VS2015社区版。...正因为cin函数是直接从缓冲区取数据的,所以有时候当缓冲区中有残留数据时,cin函数会直接取得这些残留数据而不会请求键盘输入。 比如下面的例子: voidtest_i...
- 2018-08-29 02:40自律&&自由的博客 cin.getline()函数是处理数组字符串的,其原型为cin.getline(char * , int),第一个参数为一个char指针...可以看到cin不会丢弃换行符,它会把换行符留在输入队列中,所以getline遇到的换行符,把换行符替换成'\0'所...
- 2018-08-29 11:09Leonardo Liu的博客 在学习C++时,经常会遇到一个问题,就是需要混合使用cin>>, cin.getline(), getline()时,有时会碰到不等你输入,就直接运行下一行的情况,如下面代码所示: // test.cpp: 定义控制台应用程序的入口...
- 2019-01-08 10:04CSU_hhxyliang的博客 C++中:cin,cin.getline(),**getline()**的用法 1、转义字符: 常用的转义字符有:’/0’, ‘/n’, ‘/t’; 其中: **’/0’**为空字符,相当于空格键,作为字符串结束符使用; **’/n’**为换行符,作为输出...
- 2020-12-16 14:44`getline`的灵活性在于它可以读取到输入流的行末(默认是换行符'\n'),或者直到达到指定的字符数。`getline`函数的声明如下: ```cpp std::getline(std::istream& is, std::string& str, char delimiter); ``` 在...
- 2020-09-03 03:03在C++编程中,处理用户输入时经常遇到的一个问题是如何有效地读取到回车换行符(`\n` 或 `\r\n`)。在C语言中,`getchar()`函数可以方便地逐个读取字符,包括回车换行符。然而,C++的标准输入流`std::cin`在默认情况...
- 2020-09-04 16:22在C++编程中,`cin.get()` 和 `cin.getline()` 都是用来从标准输入流中读取数据的函数,但它们在处理输入时的行为有所不同,尤其涉及到如何处理换行符。下面将详细阐述这两个函数的主要区别以及使用时需要注意的事项...
- 2021-08-21 07:35撑一把纸伞.的博客 最近当做题时及被同学询问时,发现cin、cin.getline()、getline()与换行符之间总是存在相应的输入错误问题,所以今天弄清楚了,现分享之,望有助于各位同仁。 我们可以清楚的看到,当键盘上输入’A’时,被ch接受,...
- 2023-09-12 06:37c++小白,瞎写博客的博客 cin.getline 获取一行输入...cin.getline,getline(cin,s)都会丢弃换行符用结束符\0代替,所以一般都用这两个,一个对数组用一个对string用。cin 获取直到空格,换行符,tab,输入的字符串出现空格时会在空格处截断。
- 2024-01-28 16:42拾起,被风吹散。的博客 5.cin.getline 一次可以接受1行,取决于用户定义,在大小允许的情况下,换行符会一起接收进来,不允许的情况比较复杂,俺也不懂。7.getline 是在string 头文件中,会接收头文件进来,也会受前面输入流影响。1.cin 和...
- 没有解决我的问题, 去提问
联系我们(工作时间:8:30-22:00)
400-660-0108kefu@csdn.net在线客服
- 京ICP备19004658号
- 经营性网站备案信息
公安备案号11010502030143
- 营业执照
- 北京互联网违法和不良信息举报中心
- 家长监护
- 中国互联网举报中心
- 网络110报警服务
- Chrome商店下载
- 账号管理规范
- 版权与免责声明
- 版权申诉
- 出版物许可证
- ©1999-2025北京创新乐知网络技术有限公司