sprintf 함수는

 

char dest[100];

sprintf(dest, "TEXT %d", 123); 뭐 이런식으로 쓴다.

 

strcpy 함수도 자주 쓰긴 하지만, 나는 sprintf가 더 편하게 느껴진다.

 

특히 이 함수는 문자열 처리가 어려운 C언어에서는 정말 편리한 함수다.

 

 

 

그래서 숫자를 문자로 바꾸기도 하고, 구조체 포인터 변수의 값을 받아서 다른 변수에 저장하는 등의 일을 한다.

sprintf(str, "%.*s", sizeof(a->text), a->text);

 

일을 하면서 %.*s 라는 표현이 있다는 것을 알게 되었다. 책에서는 못봤던 표현..

 

 

 

프로그래밍이 재밌긴 한데.. 아직 실력이 많이 부족하다.

 

아마 평생을 배워야 할 지도..

 


 

과거에 썼던 글인데

 

추가로 sscanf 도 있다. 사용법은 sprintf 랑 비슷.

 

http://itguru.tistory.com/67

 

이 링크를 참고하면 좋다. 

 


 

오랜만에 C언어 짤 일이 생겨, 아래와 같이 코드를 만들어봤다.

#include<stdio.h>

void foo(char *buf, size_t size) {
    sprintf(buf, "%.*s", (int)size, "world");
}

int main(void) {
    char buf[100] = "hello";
    size_t size = sizeof(buf);
    foo(buf, size);
    printf("%s\n", buf);

    return 0;
}

 

결과는 "world" 가 출력된다.