在 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