gpt4 book ai didi

c - 修改控制台 C Codeblocks 中先前编写的行

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

我正在做一个小测试应用程序,我想知道是否有任何方法可以删除控制台中以前打印的行。我实际上希望实现的是在控制台的右上角向用户显示倒计时。我我正在使用 C,而不是 C++,并使用 Codeblocks,但这并不相关。

谢谢!

最佳答案

当您写入控制台时,您真正做的是写入与 stdout 和 stderr 相对应的文件句柄。如果您正在写入一个未实时呈现给用户的文件,那么在写入内容后“备份”并用新数据覆盖文件的某些部分并不是什么大问题。但是,由于写入 stdout/stderr 的字符会立即呈现给用户,因此没有一种简单的方法来“备份”并将新数据写入控制台。

一个可行的解决方案是计算出控制台的大小,并在每次要更新值时打印出足够的空白来填充控制台。例如,如果您知道用户的控制台有 20 行高,并且您想在控制台的左上角显示一些更新值,则可以打印出 20 个换行符,后跟您想要输出的任何数据。但是,这也意味着您在控制台中显示的任何其他数据也必须再次打印出来。这可能最终会比预期的更慢、更难看。

我建议尝试一个curses库,正如mah建议的那样。 Here很好地概述了如何开始使用 ncurses。

关于c - 修改控制台 C Codeblocks 中先前编写的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20534250/

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