gpt4 book ai didi

c - 使用回车反转字符串打印

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

我想使用回车来反转我的名字,因为它会将光标的控制权传递回行首,所以如果我使用 A\ra\rs\rh\ri\rs\rh第一个 A 将被打印,我认为在 A 之前要打印的下一个东西是 a 并且在那之前 s 等等,直到字母变成 hsihsaA(来自 Aashish)作为预期的输出,但事实证明,它只是创建了 hA 作为输出,为什么会这样??

#include <stdio.h>
int main(void)
{
printf(" A\ra\rs\rh\ri\rs\rh\n");
}

最佳答案

这与 C 无关(除了在 C 中,您只有一个流表示您的标准输出,按顺序获取字符)。

这取决于接收您的输出作为输入的(虚拟)终端响应您的控制字符所做的任何事情。如果 \r 的结果只是在当前行的开头再次开始,则仅输出 hA 是合理的。也就是说,如果您的终端覆盖了已经存在的字符。 您的终端似乎在做一些不同且奇怪的事情,但不管它是什么,它都超出了您的程序的控制范围。 编辑后,您的终端显然就是这样做的。这是最有可能的输出,但我不会指望每个终端都以这种方式运行。

如果你想控制你的终端,我建议你使用 curses 库的实现——阅读更多信息 NCURSES Programming HOWTO .终端控制不是 C 语言的一部分,但 curses 是它的事实上标准,适用于许多系统。

关于c - 使用回车反转字符串打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47455365/

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