在 C 语言中使用 作为回车符

Ammar Ali 2023年10月12日
  1. 在 C 语言中使用 \n 作为回车符
  2. 使用\r 将光标移动到 C 语言中的行首
在 C 语言中使用 
 作为回车符

本教程将讨论在 C 语言中使用 \r 作为回车符或将光标移回行首。

在 C 语言中使用 \n 作为回车符

\r 用作回车符,表示键盘上的回车键或 Enter 键。回车键相对于 Windows 使用 \n 和 macOS 使用 \r 作为回车键的操作系统发生变化。

如果我们想检查 Enter 键是否被按下,我们可以使用 \r\n 表示返回或 Enter 键。例如,如果我们想从用户那里获取输入并在用户按下 Enter 或从键盘返回键时结束输入过程,我们可以使用回车键。

例如,让我们编写一个代码,要求用户输入一个小写字母的句子,然后计算句子中出现的单词和字符的数量,当用户按下 Enter 或返回键时,代码会停。请参阅下面的代码。

#include <stdio.h>

int main() {
  int c_char = 0;
  int c_word = 1;

  printf("Enter Sentence: ");
  char ch = 'a';
  while (ch != '\n') {
    ch = getchar();
    if (ch == ' ')
      c_word++;
    else
      c_char++;
  }

  printf("\n Words = %d ", c_word);

  printf("Characters = %d", c_char - 1);

  getch();
}

输出:

Enter Sentence: hello world

 Words = 2 Characters = 10

在上面的代码中,我们使用了两个变量 c_charc_word 来存储字符和单词的数量。我们初始化了用于终止循环的字符并将其与回车符进行比较,回车符是\n,因为代码是在 Windows 上运行的。

我们使用 getchar() 函数从键盘获取正在按下的字符,当按下回车键或回车键时,循环将中断,并使用 printf() 函数。我们使用 if 语句检查是否按下了空格键,如果按下,我们将增加 c_word 变量,如果按下其他键,我们将增加 c_char 变量。

getch() 函数用于暂停输出,直到按下某个键,这样我们才能看到输出和输入。在上面的代码中,我们使用\n 作为回车键,因为代码是在 Windows 上运行的,如果代码没有终止,我们可以用\r 测试代码。

使用\r 将光标移动到 C 语言中的行首

\r 字符也可用于在诸如 printf()stderr()stdout() 等一些函数中将光标移回行首。光标将移动到开头并用 \r 字符之后的新文本替换 \r 字符之前的先前文本。

例如,让我们使用 printf() 函数中的 \r 字符来替换文本。请参阅下面的代码。

#include <stdio.h>

int main() {
  printf("hello hello \rworld\n");
  printf("hello hello \rworld world");
}

输出:

world hello
world world

在上述代码的第一行中,只有第一个单词或前四个字符被新单词替换,其余文本保持不变。在代码的第二行中,整个先前的文本被新文本替换,因为新文本中的字符数等于先前文本的数量。

仅当新文本字符大于或等于新文本字符时,才会替换所有先前的文本字符。

作者: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook