예를 들어 fprintf( "aaa = %s%c" , 123, 13) ;
이게 무슨뜻인가요?아스키코드와관련있는거같은데..리눅스상에서 소스입니다.
아스키코드로 13이 CR 인데 이게무슨경우인가요 엔터효과인가요?
Carriage Return을 의미합니다. C에서는 '\r'로 표기합니다.
일단 예를 설명하면서 오타가 있으신 것 같은데요. printf("aaa=%s%c", 123, 13); 와 같이 하면 컴파일은 되지만 실행하게되면 프로그램이 죽을 겁니다.
printf("aaa=%s%c", "123", 13); 와 같이 했다고 가정한다면 콘솔에서 커서가 맨 앞으로 이동하게되지만 출력 라인은 변경이 없기 때문에 화면에 나오는 것은 없게 됩니다.
응용하여 printf("aaa=%s%c", "123", 13); printf("XXX\n"); printf("---\n");
와 같이 연속하여 출력할 경우 결과는 아래와 같이 aaa 앞으로 커서가 이동한 상태에서 XXX로 덮어 버리면서 XXX=123 --- 출력됩니다.
오타이다에 한표... 컴파일할때도 Warnning 에러가 날텐데요...
- 겨울아찌 -winchild@kldp.org
- 겨울아찌 - winchild@gmail.com
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
Carriage Return을
Carriage Return을 의미합니다. C에서는 '\r'로 표기합니다.
일단 예를 설명하면서 오타가 있으신 것 같은데요.
printf("aaa=%s%c", 123, 13);
와 같이 하면 컴파일은 되지만 실행하게되면 프로그램이 죽을 겁니다.
printf("aaa=%s%c", "123", 13);
와 같이 했다고 가정한다면 콘솔에서 커서가 맨 앞으로 이동하게되지만
출력 라인은 변경이 없기 때문에 화면에 나오는 것은 없게 됩니다.
응용하여
printf("aaa=%s%c", "123", 13);
printf("XXX\n");
printf("---\n");
와 같이 연속하여 출력할 경우 결과는 아래와 같이 aaa 앞으로 커서가 이동한 상태에서 XXX로 덮어 버리면서
XXX=123
---
출력됩니다.
오타에 한표~~~
오타이다에 한표...
컴파일할때도 Warnning 에러가 날텐데요...
- 겨울아찌 -
winchild@kldp.org
- 겨울아찌 -
winchild@gmail.com
댓글 달기