在 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_char
和 c_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
在上述代码的第一行中,只有第一个单词或前四个字符被新单词替换,其余文本保持不变。在代码的第二行中,整个先前的文本被新文本替换,因为新文本中的字符数等于先前文本的数量。
仅当新文本字符大于或等于新文本字符时,才会替换所有先前的文本字符。