C에서 캐리지 리턴 문자로 사용

Ammar Ali 2023년10월12일
  1. C에서 캐리지 리턴 문자로 \n 사용
  2. \r을 사용하여 커서를 C의 줄 시작 부분으로 이동
C에서 캐리지 리턴 문자로 
 사용

이 자습서에서는 \r을 캐리지 리턴 문자로 사용하거나 커서를 C에서 줄의 시작 부분으로 다시 이동하는 방법에 대해 설명합니다.

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를 사용하여 문자와 단어의 수를 저장했습니다. 루프를 종료하는 데 사용되는 문자를 초기화하고 코드가 Windows에서 실행 중이기 때문에 \n인 캐리지 리턴 문자와 비교했습니다.

getchar() 기능을 사용하여 키보드에서 누르고 있는 문자를 가져오고, 리턴 키나 엔터 키를 누르면 루프가 끊어지고 printf() 기능을 사용하여 단어와 글자 수가 출력됩니다. printf() 함수. if 문을 사용하여 스페이스 키가 눌렸는지 확인하고 키를 누르면 c_word 변수를 증가시키고 다른 키를 누르면 c_char 변수를 증가시킵니다.

getch() 함수는 출력과 입력을 볼 수 있도록 키를 누를 때까지 출력을 일시 중지하는 데 사용됩니다. 위 코드에서는 코드가 Windows에서 실행되기 때문에 \n을 캐리지 리턴 키로 사용했으며 코드가 종료되지 않으면 \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