BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #46649同步于 2010/11/22
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

关于cin的一个问题(轻pia)

moodyt
2010/11/22镜像同步14 回复
用c++中一个很常见的语句while(cin>>str),这里str是string类型。在程序输入的时候,输入一部分数据后,输入Crtl+z无效,非得换行Ctrl+z,为什么呢?一直搞不清楚这个问题。 按说cin这个操作,碰到tab,空格和回车都会读入的啊,应该能够识别Ctrl+z。求解释。
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
renne机器人#1 · 2010/11/22
vc6对这事情似乎有个bug 是vc6么? 【 在 moodyt (徒子不登) 的大作中提到: 】 : 用c++中一个很常见的语句while(cin>>str),这里str是string类型。在程序输入的时候,输入一部分数据后,输入Crtl+z无效,非得换行Ctrl+z,为什么呢?一直搞不清楚这个问题。 : 按说cin这个操作,碰到tab,空格和回车都会读入的啊,应该能够识别Ctrl+z。求解释。
wks机器人#2 · 2010/11/22
行缓冲。 和命令行有关。
moodyt机器人#3 · 2010/11/22
【 在 renne 的大作中提到: 】 : vc6对这事情似乎有个bug : 是vc6么? : 【 在 moodyt (徒子不登) 的大作中提到: 】 : ................... 不是,是dev-cpp
moodyt机器人#4 · 2010/11/22
ok,已经解决了。可以在下面这个网址http://blog.sina.com.cn/s/blog_621a15f30100ek81.html
renne机器人#5 · 2010/11/22
总之……vc6要两次ctrl+z 2008只要一次……似乎是bug…… 【 在 wks (cloverprince) 的大作中提到: 】 : 行缓冲。 : 和命令行有关。
moodyt机器人#6 · 2010/11/22
【 在 renne 的大作中提到: 】 : 总之……vc6要两次ctrl+z 2008只要一次……似乎是bug…… : 【 在 wks (cloverprince) 的大作中提到: 】 : : 行缓冲。 : ................... 这和对cin的处理方式有关,应该不是bug吧
renne机器人#7 · 2010/11/22
你贴的那个东西,我当时也看过,感觉不是那个的原因 Windows系统中一般采用阻塞式检查 Ctrl+Z、Unix/Linux系统下一般采用非阻塞式的检查 Ctrl+D。楼主是在Windows系统下,因此使用阻塞式的 Ctrl+Z 来标识流的结束。 这种阻塞式的方式有一个特点:只有按下回车之后才有可能检测在此之前是否有Ctrl+Z按下。还有一个特点就是:如果输入缓冲区中有可读的数据则不会检测Ctrl+Z(因为有要读的数据,还不能认为到了流的末尾) 按照这段话,阻塞式的话,应该是ctrl+z+回车才行 你不是说要先回车再ctrl+z么 【 在 moodyt (徒子不登) 的大作中提到: 】 : 这和对cin的处理方式有关,应该不是bug吧
renne机器人#8 · 2010/11/22
不对……似乎这段话的意思是要回车+ctrl+z+回车吗 【 在 renne (歼灭天使 玲) 的大作中提到: 】 : 标 题: Re: 关于cin的一个问题(轻pia) : 发信站: 北邮人论坛 (Mon Nov 22 19:28:23 2010), 站内 : : 你贴的那个东西,我当时也看过,感觉不是那个的原因 : : Windows系统中一般采用阻塞式检查 Ctrl+Z、Unix/Linux系统下一般采用非阻塞式的检查 Ctrl+D。楼主是在Windows系统下,因此使用阻塞式的 Ctrl+Z 来标识流的结束。 : : 这种阻塞式的方式有一个特点:只有按下回车之后才有可能检测在此之前是否有Ctrl+Z按下。还有一个特点就是:如果输入缓冲区中有可读的数据则不会检测Ctrl+Z(因为有要读的数据,还不能认为到了流的末尾) : : : 按照这段话,阻塞式的话,应该是ctrl+z+回车才行 : 你不是说要先回车再ctrl+z么 : 【 在 moodyt (徒子不登) 的大作中提到: 】 : : 这和对cin的处理方式有关,应该不是bug吧 : : : -- : 那些超越善与恶、生与死的所在 我都曾淡然地走过 : 无所幸,无所不幸 无所悲,亦无所喜 白与黑撕裂了我 天与地强暴了我 : 我已变得污秽不堪 从何处开始 又将在何处结束 : 我不属于任何地方 我从不曾行走过 : 只是 世界在旋转 在我所不知道的某个地方,只有世界在旋转…… : 那么 这样就可以了 因为世界无论何时 都是为我而转动着 所以……我没什么好哀伤的 : : : ※ 来源:·北邮人论坛 bbs.byr.cn·[FROM: 59.64.141.166]
moodyt机器人#9 · 2010/11/22
【 在 renne 的大作中提到: 】 : 不对……似乎这段话的意思是要回车+ctrl+z+回车吗 : 【 在 renne (歼灭天使 玲) 的大作中提到: 】 : : 标 题: Re: 关于cin的一个问题(轻pia) : ................... 恩 是啊 怎么感觉我又迷糊了。。