- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 재능이의 돈버는 일기
- StresslessLife
- K_JIN2SM
- 소소한 일상
- My Life Style & Memory a Box
- Blog's generation
- 공감 스토리
- 취객의 프로그래밍 연구실
- Love Me
- Dream Archive
- 세상에 발자취를 남기다 by kongmingu
- hanglesoul
- 카마의 IT 초행길
- 느리게.
- 미친듯이 즐겨보자..
- Joo studio
- Gonna be insane
- 악 다 날아갔어!! 갇대밋! 왓더...
- xopowo05
- 맑은공기희망운동
- 엔지니어 독립운동
- 혁준 블로그
- Simple in Complex with Simple
- 무의식이 의식을 지배한다
드럼치는 프로그래머
[C/C++] 개행문자 "\n\r" ( 텍스트모드와 바이너리모드 ) 본문
'\n'은 아스키값 0x0a (텍스트문장에서 다음 줄로 이동하는 특수문자)
로 사용합니다.
도스, 유닉스, 윈도우 등 OS의 파일 시스템에 따라 텍스트 개행문자가 특성이 조금 다릅니다.
윈도우에서는 보여주는것은 \r 이 있든 없든 보여주는것 같던데...
예전에 그래픽모드가 거의 없던시절에 (MSDOS시절 거의 텍스트문서로 이루어질때)
printf ("abcdefg\rhi");
화면표시결과는 abcdefg 표시후 맨앞줄로 이동후 hi를 표시하면
hicdefg
로 나타나고,
printf("abcdefg\nhi");
화면표시결과는 abcdefg 표시후 다음줄로 이동후 hi를 표시하면
abcdefg
hi
위에서 g 바로밑 다음부터 hi임 (편집기에서 바로보이는지 조금 안맞네요)
printf("abcdefg\n\rhi");
는 abcdefg 표시후 커서를 맨앞으로 이동후 줄을 바꾸고 hi를 표시합니다.
abcdefg
hi
로 나타납니다.
요즘은 윈도에서 \n 만 있어도 \n\r 로 나타나더군요.
편집기에서 프로그램을 큰구분없이 쓰기 때문일수도 있는데 텍스트에서는 별 문제가 없겠지요.
그리고 EOF의 경우 도스파일들은 0x1A (ctrl-z) 에 해당하는 문자가 있으면 텍스트 파일의 끝으로 인식합니다.
텍스트모드에서는 우리가 문자로 인식하는 것들을 바로 보여주는 모드라고 할 수 있고,
바이너리 모드는 보이지않는 내용까지 포함합니다. 텍스트 모드보다는 더 복잡하고 다양하게 사용할 수 있습니다. 프로그램파일이나 jpg 파일과 같은 그림파일, 동영상파일등은 바이너리모드로 그내용들을 읽고 분석할 수가 있습니다.
'★─Programing > ☆─C | C++' 카테고리의 다른 글
[C/C++] 텍스트와 바이너리 ( 속도비교 ) (0) | 2009.01.30 |
---|---|
[C/C++] 텍스트 파일과 바이너리 파일의 차이점은?? (0) | 2009.01.30 |
[C/C++] 연산자 우선순위 (0) | 2009.01.30 |
[C/C++] sprintf() 함수란? ( 문자열을 printf() 함수의 출력 형식으로 생성 sprintf() 함수 ) (0) | 2009.01.29 |
[C/C++] void 와 return에 대해서 (0) | 2009.01.29 |