我最近开始在大学学习C ++,并决定在家里取得一些进步。我有一个想法,即制作一个程序,在给定一段文字的情况下,将逐字符地打印出这样的文本,并且中间有一点延迟(如本视频SUPER.HOT chat中所示)。
我尝试使用一个简单的程序重新创建它:
void typer(string text){
for (int i = 0; i < text.length(); i++){
cout << text[i];
usleep(100000);
}
但是当usleep()设置在103900以下时,它将一次开始打印两个字符。我打算一次打印一次但很快。
有什么建议吗? :d
答案 0 :(得分:2)
答案 1 :(得分:1)
您需要刷新输出
cout << text[i] << flush;
The usleep()
function成功返回0
。出错时,返回-1
,并设置errno以指示错误原因。
错误
EINTR
信号中断;见信号(7)。
EINVAL
usec不小于1000000
。 (在被认为是错误的系统上。)