标题:请教一个特业余而我却弄不明白的C++问题
只看楼主
woodhead
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:1124
专家分:0
注 册:2005-7-18
得分:0 

2006-07-21 12:03
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
得分:0 
以下是引用热情依然在2006-7-21 12:00:21的发言:
CTRL_Z不是让cin返回假值,是让程序挂起.让程序暂停运行

谢谢了,这是以什么方式对程序直接控制的呢?要是说ALT_F4也是直接一次就关闭程序,但是CTRL_Z为什么要两次呢?


[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-07-21 12:53
woodhead
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:1124
专家分:0
注 册:2005-7-18
得分:0 
我还是坚持我的说法,至于是ctrl+什么,记不清了。

2006-07-21 12:56
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
得分:0 

既然象你说的那样,为什么一次不行呢?非要按两次,才结束???


[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-07-21 13:04
woodhead
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:1124
专家分:0
注 册:2005-7-18
得分:0 
按一次enter,
一次ctrl+什么
然后再enter

2006-07-21 13:09
mybrotherwheng
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-7-20
得分:0 

看到各位的发言真的让我受益匪浅!!看来学习C++还有很长的路要走啊!非常感谢各位高手的指点,以后我这个新手遇到了难题还请多多指教!!再次感谢!

2006-07-21 13:13
wangxiang
Rank: 2
等 级:新手上路
威 望:5
帖 子:376
专家分:0
注 册:2006-3-28
得分:0 
以下是引用woodhead在2006-7-21 11:55:33的发言:
cin 是一个对象,它有一些方法,有自己的状态,
>>其实是一个函数,word是这个函数的一个参数。
要想仔细了解cin,需要一些类型方面的知识,一句两句讲不清。

while ( cin>>word ) 的cin>>word当达到文件尾的条件时,返回0,在unix里,流都被当作文件看待,条件一样。
在其他的平台就不同了,ms-dos的键盘输入以'\n'结尾,所以用ctrl+z模拟文件尾的条件。
这个只是个平台的标准的问题,不用费精力在这上面。
cin>>word>>s;
cin>>WORD返回的是个cin,返回类型是固定的,怎么说明他返回可以是个0呢

2006-07-21 14:07
woodhead
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:1124
专家分:0
注 册:2005-7-18
得分:0 
io流 有一个 operator void*()const 类型转换操作符,它返回 !fail() 的状态(bool fail() const)。
当cin作为右值时,将会调用 operator void*()const

2006-07-21 15:30
wangxiang
Rank: 2
等 级:新手上路
威 望:5
帖 子:376
专家分:0
注 册:2006-3-28
得分:0 
呵呵,谢谢了
不过,还是有点看不懂.
while(cin>>word)怎么理解cin这时是右植呢

2006-07-21 17:05
热情依然
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:22
帖 子:715
专家分:0
注 册:2005-4-5
得分:0 

cin是一个类, cin>>其实是重载了运算符号,相当于 cin.operator >> (word),返回值是istream &,所以基本上调用这个函数是成功的,目前我都还没有试过输入其他字符领到这个程序退出,都是按ctrl + z让程序暂停运行至于按两次其实是让缓冲区的东西全部输出.清空缓冲区其实有 fflush(std)这个函数来清空缓冲区


c++/C + 汇编 = 天下无敌
2006-07-21 18:50



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-79415-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.059564 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved