• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

10분 15초 _getch()

23.02.08 13:08 작성 23.02.08 13:24 수정 조회수 214

0

int main()

{

char c;

while((c = _getch()) != '\n')

put char(c);

return 0;

}

이 코드를 디버그를 해보면

마지막에 enter를 누르면 종료가 되어야하는데

변수 c에 '/r' 가 들어가서 처음부분으로 돌아갑니다.

여기서 왜 enter을 누르면 /r가 입력이 되는건가요?

getchar같은 경우에는 디버그를 해보니까 \n가 들어가더라고요

근데 _getch()는 \r가 왜 들어가는지 모르겠네요

 

답변 1

답변을 작성해보세요.

0

강민철님의 프로필

강민철

2023.02.08

엔터를 누르게 되면

캐리지 리턴 \r 뉴 라인 \n 이 함께 입력되는 시스템도 있습니다.

  • \r = CR (캐리지 리턴) → X 이전 Mac OS에서 줄 바꾸기 문자로 사용

  • \n = LF (줄 바꿈) → Unix / Mac OS X에서 줄 바꾸기 문자로 사용

  • \r\n = CR + LF → Windows에서 줄 바꾸기 문자로 사용

 

아래 링크를 참고해보세요.

https://rateye.tistory.com/1087