sprintf의 역활.
그림 1) sprintf 소스.
1. sprintf의 역활은 메모리에 출력 하는 역활을 한다. 그림 1)의 소스를 보면 소스는 간단 하지만 sprintf의 기능을 확실하게 볼 수 있다. 그럼 컴파일을 해 보겠다.
그림 2) 컴 파일.
2. 그림 2)에서 표시 된 부분을 볼 수 있는데 그 부분에는 경고 메시지가 있다. 그 경고 메시지는 무시 해도 된다. 아무리 봐도 에러 메시지가 보이지 않는다면 제대로 된 것이다. 그럼 이제 어떻게 실행이 되는지 확인 해보자.
그림 3) 실행 후 화면.
3. 화면에 12345678이 출력된 것을 볼 수 있다. 근데 뭔가 이상하다. sprintf랑 printf랑 printf문은 2줄인데 화면에 출력 되는 것은 한줄 밖에 없다. 어~~라~~ 맨붕이다. 하지만 이상 해 할게 없다 정상 적인 출력이다. sprintf문은 메모리에만 출력을 하고 직접적으로 화면에 출력을 하지 않는다. 그럼 pintf는 그냥 그림 1)에서는 buf밖에 넣은게 없는데 어떻게 출력이 되지 라는 의문이 들것이다. 그렇다 그 의심은 바로 buf에 있다. sprintf에서 buf에 출력을 하긴 했는데 화면에 하지 않은 것 이다. 그래서 printf가 buf를 출력 하자. 화면에 출력을 한 것이다. 그럼 진짜인지 printf 문을 지워 보겠다.
그림 4) printf 문 주석 처리.
4. 그림 4)에서 볼 수 있듯이 printf 문을 주석 처리 하였다. 새로 컴파일 하여 화면에 어떻게 출력이 되는지 확인 해보자.
그림 5) printf 문 주석 처리 후 실행.
5. 그림 5)에서 보면 화면에 아무것도 출력 되지 않는 것을 볼 수있다. 역시나 라는 생각이 들 것이다. 역시 sprintf는 화면에 출력을 시키지 않는다.
'코스웨어 > 12년 내장형하드웨어' 카테고리의 다른 글
[Linux Kernel]10월 12일 수업 (1) | 2012.10.12 |
---|---|
[arm] 요약입니다@@ (4) | 2012.10.12 |
[통신] 요약입니다@@ (1) | 2012.10.12 |
[리눅스커널] 요약입니다@@ (1) | 2012.10.12 |
[리눅스커널] 시스템 호출 과정과 제작 (1) | 2012.10.12 |
[리눅스 커널] 2.4.32 와 2.6.14 소스 (0) | 2012.10.12 |
[RFID]스팩위주 설명 보완중 -김동기 (4) | 2012.10.11 |
[공유기]DNS 서버가 응답하지 않습니다.란 메세지 뜰시 (2) | 2012.10.11 |