sscanf에 이어 이번에는 sprintf의 사용법에 대해서 알아보자 (sscanf에 대한 사용법은 여기를 참조http://codecat.tistory.com/entry/sscanf-사용법)
sprintf는 man page에 다음과 같이 선언되어 있다.
int sprintf(char *str, const char *format, ...);
sscanf 사용법에서, scanf가 standard input stream, stdin, 에서 input을 읽어오는 반면, sscanf는 str이라는 문자열(character string)에서 입력을 받아온다라고 했는데, sprintf 또한 input<->output이라는 점만 제외하면 이와 유사하다.
즉 printf가 standard output stream, stdout에 output을 출력한다면, sprintf는 str이라는 문자열에 출력을 한다고 생각하면 된다.
sscanf 사용법에 썼던 예제를 다시 한번 보면, (예제출처: 초보자를 위한 Linux & Unix C 프로그래밍)
sprintf(buff1, "%d", i) 라는 부분이 있다. 이는 위에서 이미 정의된 i를 %d에 맞게 buff1에 출력(저장이라고 보는게 맞겠다)한다고 보면 된다. (포맷에 관련해서는 sscanf 사용법을 참조하자.)
그럼 이걸 언제 써먹냐면은... 물론 여러가지 용도가 있겠지만, 대표적으로 생각나는게 여러가지 옵션을 모아서 하나의 커맨드를 만들어서 실행시킬 때 사용할 수 있겠다.
다음과 같이 실행 커맨드와 옵션들을 긁어 모아서 system()으로 한방에 실행시킬 수 있다.
system(cmd_buf);
'프로그래밍 > C' 카테고리의 다른 글
error: expected identifier before numeric constant (0) | 2012.07.03 |
---|---|
정적 라이브러리, 동적 라이브러리 만들기 (0) | 2012.04.04 |
sscanf 사용법 (0) | 2012.03.28 |
exit(1) vs exit(EXIT_FAILURE) (0) | 2012.02.29 |
file에서 읽어와 strtok을 이용해 struct에 저장하기 (2) | 2012.02.28 |