gpt4 book ai didi

c - 在给出换行符之前,输出不会与 usleep 一起显示

转载 作者:太空宇宙 更新时间:2023-11-04 05:41:53 24 4
gpt4 key购买 nike

我正在尝试用 C 编写一个简单的“打字机”效果,其中文本一次显示一个字母并有延迟。这是我的功能:

#include <stdio.h>
#include <unistd.h>

void typestring(const char *str, useconds_t delay)
{
while (*str) {
putchar(*(str++));
usleep(delay);
}
}

问题是在显示 \n 之前,文本实际上并没有出现。我做错了什么?

最佳答案

stdout 的输出被缓冲。使用 \n 你是在强制刷新。如果你想改变这个,你需要改变终端的设置(对于 Linux 看 here )或者使用

void typestring(const char *str, useconds_t delay)
{
while (*str) {
putchar(*(str++));
fflush(stdout);
usleep(delay);
}
}

关于c - 在给出换行符之前,输出不会与 usleep 一起显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16142384/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com