gpt4 book ai didi

c - 使文本在 x 秒后消失 [C]

转载 作者:行者123 更新时间:2023-11-30 21:17:50 26 4
gpt4 key购买 nike

我有一些关于“刽子手”游戏的作业,最初我需要在控制台上显示规则 5 秒钟,之后它必须消失并且游戏将开始。我怎样才能用C实现这个目标?

例如:

"You can only try 5 times"

5 秒后,该信息应该会消失并且游戏将开始。

我正在使用 DEV-C 控制台并研究了 time.h 库,但我最困惑的部分是如何使文本消失。

最佳答案

如果您在这 5 秒内不需要执行任何操作,则可以使用 sleep 执行类似的操作:

int main()
{
printf("You can only try 5 times");
sleep(5);

// Start game

return 0;
}

对于您在注释中提到的消失文本,您可以使用回车符\r:

printf("\r我将覆盖之前的文本!");

但这仅在您使用比已打印的字符串更长的字符串覆盖时才有效。您可以先打印一个空行来“删除”它来解决这个问题。

最后,由于大多数输出​​流都经过缓冲,如果没有换行符 \n 字符,您的文本可能无法立即打印,要解决此问题,您可以使用 fflush(stdout) 所以你的最终实现可能看起来像这样:

#include <stdio.h>
#include <stdlib.h>

int main()
{
printf("\rYou can only try 5 times");
fflush(stdout);
sleep(5);

printf("\r ");
fflush(stdout);
printf("\rThe game will now begin.");
fflush(stdout);

return 0;
}

关于c - 使文本在 x 秒后消失 [C],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34292497/

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