首页 新闻 会员 周边

C语言中的sleep函数

0
[待解决问题]

我本来是想l利用sleep()函数在一行中有停顿的输出"-------------"作为提示符,以下代码可以实现有停顿的输出

#include<stdio.h>
#include<unistd.h>
int main()
{        
    
    while(1)
    {
         
        printf("-\n");
        usleep(100000);
    }
     
    return  0;
}

但是去掉换行符'\n'后程序运行后就没反应了

 

 

 

这是怎么回事啊?
如果要实现我的目的的话,该怎么做呢?
谢谢!

菜鸟明的主页 菜鸟明 | 初学一级 | 园豆:186
提问于:2017-10-01 22:06
< >
分享
所有回答(3)
0

你这就是一个死循环了。把printf("-\n");改成printf("-");就行,记得是双引号不是单引号

Arthurian | 园豆:1123 (小虾三级) | 2017-10-09 23:09
0

应该是循环一行输出不换行,行缓存区不够吧。所以没有显示

漂洋过海的熊 | 园豆:210 (菜鸟二级) | 2018-07-05 20:20

你是必须在while循环中实现吗?

支持(0) 反对(0) 漂洋过海的熊 | 园豆:210 (菜鸟二级) | 2018-07-05 20:22
0

缓冲区问题,行缓冲在缓冲区满或遇到换行符才会刷新缓冲区。
你需要自己手动刷新缓冲区,使用fflush(stdin)

Raina_R | 园豆:206 (菜鸟二级) | 2020-04-01 13:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册