Printf带回车

时间:2013-05-17 05:16:10

标签: c terminal

printf("Hello%cWorld\n", '\r');

输出:

World

因为'\r'将光标移动到行的开头

我可以相信所有终端都有此行为吗?

2 个答案:

答案 0 :(得分:1)

lib curses会告诉你终端的功能。

答案 1 :(得分:0)

ASCII编码中的

.0x0d是'\ r',在本例中为

printf("Hello%cWorld\n", 0x0d);

等于

printf("Hello\rWorld\n");

一个常见的C编程错误是假设某个特定编码正在使用,而实际上是另一个编码。

然而,它适用于大多数计算机,如@Joachim Pileborg所说。

但我建议使用'\ r'而不是0x0d,以便于移植,而后者看起来像一个神奇的数字,这使得那些阅读你的代码的人甚至有一天会感到困惑。

相关问题