캐리지 리턴(CR)과 라인 피드(LF)는 느린 프린터의 유산인 걸로 알고 있습니다. 굳이 두 동작으로 나눈 이유는 과거의 느린 프린터가 물리적인 동작을 취하는데 충분한 시간을 확보해주기 위해서 신호를 두 개로 나누어 보내주었기 때문이라고 알고 있습니다. 하지만 현재는 둘 중 하나만 있어도 뉴라인으로 간주합니다. 따라서 신경쓰지 않으셔도 됩니다. (아~~주 가끔 그 문제로 삽질을 하는 경우도 있을 수는 있지만..- -+) 그리고 LF로 뉴라인을 나타내는지 CR+LF로 뉴라인을 나타내는지는 언어의 차이가 아니라 시스템의 차이입니다. 덧붙이자면, printf ("abcdefg\rhi"); 화면표시결과는 abcdefg 표시후 맨앞줄로 이동후 hi를 표시하면 hicdefg 로 나타나고, printf("abcdefg\nhi"); 화면표시결과는 abcdefg 표시후 다음줄로 이동후 hi를 표시하면 abcdefg hi 위에서 g 바로밑 다음부터 hi임 (편집기에서 바로보이는지 조금 안맞네요) printf("abcdefg\n\rhi"); 는 abcdefg 표시후 커서를 맨앞으로 이동후 줄을 바꾸고 hi를 표시합니다. abcdefg hi 로 나타납니다.
CR은 현재 위치를 나타내는 커서(?)를 맨 앞으로 이동시킨다는 뜻이고,
LF는 커서의 위치를 아랫줄로 이동시킨다는 뜻입니다.
이 두 동작을 합치면 뉴라인('\n')과 동일한 동작을 하게 됩니다.
Unix-like 시스템에서는 LF로,
윈도우즈에서는 CR+LF로 표현합니다.
정규식에서는 CR과 LF는 의미가 없습니다.
모두 뉴라인 하나로 표현됩니다.
'Embedded Lab > linux, x86' 카테고리의 다른 글
[NASM과 MASM] (0) | 2012.06.02 |
---|---|
[CPU스케쥴러] (0) | 2012.05.26 |
[vi편집기 자동정렬] (0) | 2012.05.01 |
[rm, rndir 옵션] (0) | 2012.04.11 |
[x86 / datasheet / 메모리관리 / x86에서의 메모리정책 (보호모드/실제모드)] (0) | 2012.04.04 |