【问题标题】:How can i use printf("\b") to make my console output look like typewriter?如何使用 printf("\b") 使我的控制台输出看起来像打字机?
【发布时间】:2019-10-21 20:15:43
【问题描述】:

我正在使用循环从字符串中删除字符,使用 printf(\b) 1 by 1 并在其间休眠 0.1 秒。但是当我运行代码时,它会同时发生。

我确实尝试输入每个 printf,因为我认为循环可能是原因,但输出仍然相同

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

void coolIntro(){
int i;

printf("A Game by Hideo Kojima");

Sleep(800);

for(i=0;i<12;i++){

    printf("\b");

    Sleep(100);

        }

printf("my_name_here");
}

我希望字母以 0.1 秒的时间间隔消失。

【问题讨论】:

    标签: c printf backspace console-output


    【解决方案1】:

    printf 输出被缓冲。使用fflush(stdout) 强制它立即输出。此外,\b 将光标向左移动,但不会擦除光标下的字符。打印"\b \b" 将其移回,打印一个空格,然后再次将其移回。

    printf("\b \b");
    fflush(stdout);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-09
      • 1970-01-01
      • 2020-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多