所以我的问题是我的程序运行得太快,以至于我看不到它的行为。它应该使文本沿着终端的边缘爬行。我试着在 ssleep()
之间做一个短暂的停顿printf(...)
,这样我就可以看到我们在打印文本时的去向。
这是它的样子:
http://i.imgur.com/B6FFbNp.gif
所以我把sleep()
函数放在printf
s 之后,这样它就会在再次开始循环之前暂停,并使文本缓慢移动。但是发生的情况是它甚至在开始之前无限期地暂停程序。这也发生在usleep
andsystem("pause 1")
上。这是它的样子:
http://i.imgur.com/krGW3lB.gif
==================================================== =================================
编辑:
好吧,我自己想通了。似乎sleep()
只有\n
在我输入字符串时才有效。我不知道为什么。我什至没有在该死的手册中读过这个。
所以如果你有
printf("HELLO\n");
sleep(3);
printf("HELLO\n");
sleep(3);
printf("HELLO\n");
这将导致:
HELLO
[暂停3秒]
HELLO
[暂停3秒]
HELLO
但是如果您删除换行符,它将:
[暂停9秒]
HELLO HELLO HELLO
我不知道为什么会这样,但确实如此
==================================================== ================================= 编辑:
这就是我希望我的程序工作的方式:http: //i.imgur.com/DXv7E60.gif
谢谢您的回答