0

我想在打印字符串时模拟文本的输入(就像有人在屏幕上输入一样)。简单的说,打印一个字符,稍等片刻,然后打印下一个字符,以此类推。

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。

谢谢。

4

0 回答 0