Electronics 板


LINE

感谢z大大 我也有想过是因为enter也属於一个输入位元的关系 不过我有疑问的地方是 我第二个getchar并不是跟第一个是紧密接在一起的 而是经由一个副函数呼叫返回之後才又回到第二个getchar so , 如果是按照上面的解释来说的话 那经由键盘输入并且按下enter之後,这些位元是会先存到某个暂存空间罗 然後再丢给getchar, 然後第一个getchar处理第一个位元 接着副函数返回之後, 第二个getchar经由暂存空间读到之前所输入的enter位元. 我有试过假设在第二个getchar之後在加一个getchar , 然後假如我再第一个 getchar的时候是输入两个位元再按enter的话 , 那程式的确也会直接结束 并且结束前会输出我再第一个getchar所输入的第二个位元. 所以...应该是有一个暂存空间,去供getchar读取资料吧. 我想 以上 请各位评评理 谢谢 PS:My system is linux system too. ※ 引述《zxvc (zxvc)》之铭言: : ※ 引述《adddream (哆啦A孟)》之铭言: : : int main(void) : : { : : int fd; : : fd=open("hello",O_RDWR | O_CREAT, 0666); : : if(fd<0) : : { : : perror("open"); : : exit(1); : : } : : lock_set(fd,F_WRLCK); : : getchar(); : : lock_set(fd,F_UNLCK); : : getchar(); : : close(fd); : : exit(0); : : } : 你可以试试看这个程式: : int main(void) : { : getchar(); : getchar(); : return 0; : } : 可以得到一样的效果。 : 这是因为getchar()只会读取一个字元。 : 你如果执行这个程式,输入一个字元a、『再按Enter』, : 等於输入两个字元,因为按下Enter会输入一个『newline』。 : 所以第二个getchar就会因为读到newline而结束。 : 我在Linux上测试是如此, : 但是好像Windows上『newline』好像占两个字元,不清楚, : 你可以用3个getchar测试看看。 : : 如上程式,理想的情形应该是,在呼叫lock_set(fd,F_WRLCK)完之後,会因为getchar() : : 而等待输入,输入完之後街着呼叫lock_set(fd,F_UNLCK),然後在接着由於getchar() : : 而等待输入,然後停止。 : : 但我试验完之後,发现在呼叫完lock_set(fd,F_UNLCK)之後,程式就停了 =.=。 : : 也就是,第二个getchar()没有作用。 : : 但若此时,我在第二个getchar()在加入一个getchar()之後,成式就可以等待输入了。 : : but,只会停一次 =.=。意思是说,第一个getchar()不知道那去了。 : : 请问这是为舍压 ??? --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.70.76.156 ※ 编辑: adddream 来自: 203.70.76.156 (03/02 21:56)
1F:推 zxvc:对,你输入的字串会被放在记忆体中的缓冲区.如果某个getchar 03/02 22:18
2F:→ zxvc:没有把缓冲区的资料读完,就由下一个getchar去读. 03/02 22:19







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Soft_Job 或 站内搜寻

TOP