CR과 LF에 대한 고찰 C/C++

CR(Carriage Return)은 우리가 프로그램을 하면서 많이 접하는 용어다. 하지만, 깊게 파고든 적이있던가!
LF(Line Feed)도 우리가 많이 접하지만 LF에 대한 생각을 어느정도 하였는가!
지금부터 이 둘에 대한 썰을 풀어보자
CR은 '\r'로 표시되고, LF는 '\n'으로 표시된다 흔히 뉴라인이라고 말한다.
실제 개발에서 위의 내용을 제대로 이해하여야 실수를 면한다.

CR의 출력 형태를 보자
[입력]
'가나다 \r라마바'
[출력]
첫   줄: 라마바
둘째줄:           => 이와 같이 두번째 줄은 아무것도 없고 첫째줄에 "라마바"가 찍힌다.
이유는 \r라는것은 '해당 줄의 첫번째로 이동'하라는 의미이다.

LF의 출력 형태를 보자
[입력]
'가나다 \r라마바'
[출력]
첫    줄: 가나다
둘째줄 :          라마바 => 이와 같이 두번째 줄의 '가나다' 다음 위치에 '라마바'가 찍힌다.
이것은 \n은 다음 라인으로 옮겨서 찍으라는 표시다. 주의할것은 두번째줄 첫번째 라인이 아니라는것이다.

두번째줄 첫번째로 옮겨가기 위해서는 아래와 같이 표시해야한다.
[입력]
'가나다 \r\n라마바'
[출력]
첫   줄: 가나다
둘째줄: 라마바

여기에서 알고 있듯이 윈도우에서 적혀있는 일반 텍스트 문서에는 한 줄 끝에 '\r\n'이 숨어있다는거을 알 수 있다.

덧글

  • AirCon 2009/05/02 11:10 # 답글

    그도 그럴 수 밖에 없는 것이, 원래 CR과 LF는 타자기에서 시작한 코드거든요;;

    밸리에서 들어왔습니다. 반갑습니다 :)
  • 장땡 2009/05/04 18:10 # 답글

    캬~ 그렇군요. 고딩때 타자를 배웠는데..
댓글 입력 영역