printf("Hello%cWorld\n", '\r');
输出:
World
因为'\r'
将光标移动到行首
我可以相信所有终端都有这种行为吗?
lib curses 会告诉您终端的功能。
ASCII 编码中的 .0x0d 是 '\r',在这种情况下
printf("Hello%cWorld\n", 0x0d);
等于
printf("Hello\rWorld\n");
一个常见的 C 编程错误是假设使用了一种特定的编码,而实际上另一种编码是成立的。
但是,正如@Joachim Pileborg 所说,它适用于大多数计算机。
但是我建议使用 '\r' 而不是 0x0d,以实现可移植性,而后者看起来像一个神奇的数字,这会让阅读您代码的其他人甚至您自己有一天也会感到困惑。