在 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
在上述程式碼的第一行中,只有第一個單詞或前四個字元被新單詞替換,其餘文字保持不變。在程式碼的第二行中,整個先前的文字被新文字替換,因為新文字中的字元數等於先前文字的數量。
僅當新文字字元大於或等於新文字字元時,才會替換所有先前的文字字元。