【C Language】the details of knowledge about c

84 阅读1分钟

preface / profile

the details of knowledge about c.

1. putchar ()

更新时间 29/9/24

putchar('\015');

  • putchar();
  • \015 : octal number(O 八进制数)转换为 13(D 十进制 decimal)
  • 在ASCII码中13代表的是“CR(Carriage Return|回车)”

在实际操作中产生的影响,通过以下例子进行说明/阐述 :

image.png

如上图,这是一段简单的程序,在目标代码上下/前后分别有一段输出函数printf()的代码。 在没有目标代码时,运行的结果如下:

image.png

但当我们在加入目标代码时,结果似乎让人费解。

image.png

结果输出仅有 “Hello, World!”。这是怎么回事呢?

putchar('\015'); ,它输出的就是 “回车”。它的作用是,输出回车,不换行,是输出的当前位置移动到本行的开头位置。

让我们先分解上述代码,一探究竟

image.png

并看不到我们想要解释的效果。应为看不带光标

image.png

\015 的效果 就是 回车符(而并没有换行符)并不会把光标移动到下一行,而是将光标移回当前行的开头 【分析】 printf("i love u "); // 原样输出 putchar('\015'); // 实际动作,不会行,在“i love u ”当前行将光标移动至i的前面 printf("Hello, World!\n"); // 此时光标在i的前面,在执行这段代码时,该段内容将会覆盖“i love u ”,因此,控制台输出的结果是 “Hello, World!”

image.png

注意,后者覆盖前者。当前者输出的内容大于后者输出时,只会覆盖掉部分内容。相信读者明白此处。

image.png

应用场景:可处理光标位置,以实现文本的部分覆盖效果。