c++ - 循环中的 Cout 不按定义逐个打印字符

标签 c++ string delay cout

我最近在大学开始学习 C++,并决定在家进一步学习。我的想法是制作一个程序,给定一段文本,它会逐个字符地打印出这样的文本,中间有一个小的延迟(如本视频 SUPER.HOT chat 所示)。

我尝试使用简单的过程重新创建它:

void typer(string text){

for (int i = 0; i < text.length(); i++){
    cout << text[i];
    usleep(100000);
}

但是当 usleep() 设置为低于 103900 时,它将开始一次打印两个字符。我的目的是一次只打印一份,但速度很快。

有什么建议吗? :D

最佳答案

您需要刷新流,否则它将被缓存

cout.flush();

http://www.cplusplus.com/reference/ostream/basic_ostream/flush/

关于c++ - 循环中的 Cout 不按定义逐个打印字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48253221/

相关文章:

javascript - 在第 n 次出现的字符处剪切字符串

javascript - 匹配重复模式

javascript - JavaScript 中的 setTimeout 不起作用

c++ - 为什么向 C++ 代码添加 "if"会使其速度显着加快?

c++ - C++ STL 标准有变化吗?

android - OpenSL es- 操作音频缓冲区队列

Gradle-如何在Gradle中添加一些延迟暂停挂起

android - 有没有让 Proguard 与 Cocos2d-x 一起工作的例子?和 twitter4j

ruby - 确定一个字符串是否包含一组字符串中的任何一个

带延迟的 Java KeyListener