当前位置:  技术问答>linux和unix

定时器与getchar()的问题??奇怪!

    来源: 互联网  发布时间:2015-04-20

    本文导语:  我主程序里: while(1) { printf("....."); printf("....."); printf("....."); printf("....."); c = getchar(); switch(c) { //..... } } 在这之前,我用sigaction(SIGALRM) setitimer()设定了一个1秒的定时器 问题是,没有这个定时器之前,程序运行倒getchar...

我主程序里:
while(1)
{
printf(".....");
printf(".....");
printf(".....");
printf(".....");
c = getchar();
switch(c)
{
//.....
}
}
在这之前,我用sigaction(SIGALRM) setitimer()设定了一个1秒的定时器
问题是,没有这个定时器之前,程序运行倒getchar后,屏幕就停在那里等待用户
输入一个字符了,现在屏幕确以1秒的周期不停的在往上面滚(在prinf())但是
用户仍然可以输入,很不舒服。请问如何解决??

|
getchar是用read系统调用实现的,而信号会使系统调用退出,此时c的值为-1,并没有实际意义。可以如下处理:
                do {
                        c = getchar();
                } while (c 

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux 多个定时器 几乎同时到时 , 部分定时器信号 丢失的问题.
  • 定时器的问题请教
  • Linux用户态可以通过同一段程序创建多个定时器么?
  • 请问如何实现多个并行的定时器?
  • 想做个定时器,不知道怎么做?
  • Jquery定时器的简单示例
  • 请问linux下的定时器怎么使用??******************************
  • 定时器如何销毁?
  • linux 定时器销毁
  • 请教关于unix中定时器的语法
  • linux中的串口通信判断一帧数据是否传输完整时,用定时器检查前后两帧数据的间隔时间,该用什么定时函数,有详细代码最好,谢谢!
  • tcp重传定时器,怎么实现的啊?
  • Linux 提供的基于文件描述符的定时器接口
  • 如何实现多定时器?
  • linux下如何设置高精度定时器?
  • linux定时器!
  • 多定时器问题
  • 关于select定时器的问题
  • 定时器问题
  • 有关定时器在多核CPU上运行的一个问题?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3