我想在打印字符串时模拟文本的输入(就像有人在屏幕上输入一样)。简单的说,打印一个字符,稍等片刻,然后打印下一个字符,以此类推。
void type(char* str)
{
if(*str==0)
{
return;
}
else
{
cout << (char)(*str);
usleep(200000); // should pause for 0.2 seconds after every print
type(str+1);
}
}
因此,从技术上讲,type("hello world")应该以0.2 秒的间隔打印“hello world”的每个字符。相反,这会在开头等待 n*(0.2) 秒(n 是字符串的长度),然后打印整个字符串。它不显示此动画效果。
我尝试循环,但这个问题仍然存在。那么,这段代码有什么问题呢?
我正在使用 ubuntu 16.04 LTS。GCC v5.3.1 20160413。
谢谢。