社区
C++ 语言
帖子详情
cin 如何可以输入换行符呢?
wycfgq
2009-11-07 10:07:16
cin 如何可以输入换行符呢?
char ch;
cin >> ch;
用以上代码是无法输入空格和换行符的(这是书上讲的,我试过,会忽略空格,但是换行符我不知如何去测试)
好象用
char ch;
cin.get(ch);
这样可以输入空格符,但是换行符如何能输入呢?
好象换行符与回车符都是对应着“回车”按键,所以我如何用cin来输入换行符或是回车符呢?
...全文
4539
10
打赏
收藏
cin 如何可以输入换行符呢?
cin 如何可以输入换行符呢? char ch; cin >> ch; 用以上代码是无法输入空格和换行符的(这是书上讲的,我试过,会忽略空格,但是换行符我不知如何去测试) 好象用 char ch; cin.get(ch); 这样可以输入空格符,但是换行符如何能输入呢? 好象换行符与回车符都是对应着“回车”按键,所以我如何用cin来输入换行符或是回车符呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
springchina
2009-11-08
打赏
举报
回复
1
这个直接输入是不行的,要么会直接在屏幕上回车而不是输入到某个变量,要么是用于结束本次cin操作,转义字符肯定是有其意义的
kingstarer
2009-11-08
打赏
举报
回复
c语言的getchar可以支持
bestwaqh
2009-11-08
打赏
举报
回复
cin是忽略换行和空白符的
但是你可以用cin.get(ch)就可以把'\n'赋给ch
lgj120710
2009-11-08
打赏
举报
回复
用cin.getline,将结束字符改成别的。默认是换行符
getline接受3个参数:要填充的缓冲区,要读取的最大字符加1,以及结束字符。
wxdcxp
2009-11-07
打赏
举报
回复
用转义字符是个不错的选择
LeisurelyBean
2009-11-07
打赏
举报
回复
直接getline(cin,s)整行读入,可以解决不?
小小攻城师
2009-11-07
打赏
举报
回复
1楼正解
如果什么都可以从键盘上输入
那么转义字符也就没有太大的意义了
所以推荐楼主直接用‘\n’
andy1658
2009-11-07
打赏
举报
回复
键盘是不能输入控制字符的,键盘只能输入95个字符~
飞天御剑流
2009-11-07
打赏
举报
回复
cin是不能输入换行、回车的,空白字符是cin的分隔符,不是cin的结果字符集。
jackyjkchen
2009-11-07
打赏
举报
回复
貌似不行,干嘛要自己输入一个回车?
char ch = '\n';不就行了?
cin
、
cin
.getline()、getline()与
换行符
的恩怨情仇
第一条关于
cin
的结论 第一条关于
cin
的结论 最近当做题时及被同学询问时,发现
cin
、
cin
.getline()、getline()与
换行符
之间总是存在相应的
输入
错误问题,所以今天弄清楚了,现分享之,望有助于各位同仁。 我们可以清楚的看到,当键盘上
输入
’A’时,被ch接受,后面的
换行符
被str接受了,所以我们可以得出的结论时,
cin
不会舍弃掉
换行符
,
换行符
会被留置到
输入
流中。 所以我们得出第一条结论:
cin
不舍弃
换行符
,
换行符
被留置
输入
流。 ...
C++之
cin
、getline(
cin
,str)、
cin
.getline(char*,len)与
换行符
的藕断丝连
cin
:接受一个字符串,遇到
换行符
,空格,tab就结束。 getline(
cin
,str):读入一个string,可以接受空格并输出。
cin
.getline(char*,len):读入一个字符串并输出。 先给出结论: 1、getline(
cin
,str)读取
换行符
并且将
换行符
替换成'\0',并将
换行符
从
输入
队列中抹去。 2、
cin
不会读入
换行符
;//这个总所周知,但是可以利用这个特点来连续读入任意个字符串。 3、
cin
.getline(char*,len)读取
换行符
并替换成'\0',并将
换行符
从
输入
cin
getline scanf 与
换行符
{ char ch;
cin
>>ch; string str; getline(
cin
,str); }
输入
字符ch时既
输入
了字符ch还
输入
了
换行符
,
输入
缓冲区内存了一个字符和一个回车,ch把字符读取了,而getline正好遇到
输入
缓冲区内的回车,str为空,而结束了
输入
。也就是说getline并不忽略行开头的
换行符
只要遇到
换行符
getline便停止读入。解决方法:在
cin
>&...
c++基础之getline,
cin
.getline处理
换行符
的区别
cin
.getline()函数是处理数组字符串的,其原型为
cin
.getline(char * , int),第一个参数为一个char指针,第二个参数为数组字符串长度。 getline(
cin
,str)函数是处理string类的函数。第二个参数为string类型的变量。 可以看到
cin
不会丢弃
换行符
,它会把
换行符
留在
输入
队列中,所以getline遇到的
换行符
,把
换行符
替换成'\0'所...
cin
,getline,
cin
.getline,scanf,gets等问题
1.
cin
读入一个数的时候,如
cin
>>s;我们
输入
s,之后按回车,是为了将s送入缓冲区,但是
cin
是不读入
换行符
的,所以
换行符
没有读入。所以当:
cin
>>s; getline(
cin
, str);
输入
2 string getline是不会读入string的,因为getline能够读入
换行符
。所以输出的结果好像getline没有读入一样。 2.getline(
cin
,str,a)是将str读入到
cin
流中,当a不写时默认遇到
换行符
停止
输入
,并将
换行符
丢弃,如果a写了,如a为
C++ 语言
65,180
社区成员
250,527
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章