본문 바로가기
Ghost의 C Note(노트)/Ghost의 C언어 sprint의 역활

sprintf의 역활...

by dark ghost 2012. 10. 12.
728x90
반응형

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는 화면에 출력을 시키지 않는다.

  

 

 

728x90
반응형

댓글