인프런 커뮤니티 질문&답변

jdna1009님의 프로필 이미지
jdna1009

작성한 질문수

홍정모의 따라하며 배우는 C언어

8.1 입출력 버퍼

10분 15초 _getch()

작성

·

263

·

수정됨

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

엔터를 누르게 되면

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

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

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

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

 

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

https://rateye.tistory.com/1087

jdna1009님의 프로필 이미지
jdna1009

작성한 질문수

질문하기