gpt4 book ai didi

objective-c - 就地重写 - stdout

转载 作者:太空宇宙 更新时间:2023-11-04 00:22:47 25 4
gpt4 key购买 nike

因为我目前正在设置一个新服务器以供使用,所以我一直在使用很多命令行程序,例如 curlwget,并且我'我注意到他们做了一些有趣的事情。当在终端中运行时,它们会打印当前进度(例如,54% 将变为 55%,而不是在下一行打印 55% - 下载一个大文件,您会明白我的意思)。

我一直想知道程序如何做到这一点。写入 stdout 对我来说并不是什么新鲜事,但我对这样的工作方式感到困惑。我尝试写入 stdout,然后向后查找并再次写入;打印退格字符('\b'),并打印新的东西;等等,但似乎没有任何效果。

Objective-C 或 C 中没有 API 可以执行此操作吗? (例如,C 有 ungetc(),但没有 unputc())。是否有可以实现此目的的技巧?
只是一些有趣的事情,我想了解更多...

谢谢!

最佳答案

最常见的方法是使用\r 返回到行首并重写整行,但是\b 应该也可以。确保您调用的是 fflush(stdout)。并且不要让光标移动到不同的行,否则重绘会更加痛苦。

关于objective-c - 就地重写 - stdout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3887600/

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