코딩/C언어

sprintf 함수

zz! 2025. 8. 22. 17:18
728x90

printf는 화면에 출력하는 함수이다.

sprintf는 출력 결과를 문자열 변수(버퍼)에 저장하는 함수이다.

int sprintf(char *str, const char *format, ...);

str : 결과를 저장할 문자 배열

format : 출력 형식 문자열 (%d, %s, %x 등 사용 가능)

... : 실제 넣을 값들

반환 값은 저장된 문자열의 길이이다.

 

예제

#include <stdio.h>

int main() {
	char buffer[100];
    int age = 23;
    
    // 문자열을 buffer 안에 저장
    sprintf(buffer, "저는 %d살 입니다.", age);
    
    // buffer에 저장된 내용을 출력
    printf("buffer 내용 %s\n", buffer);
    
    return 0;
}

출력 결과

sprintf는 화면에 직접 출력하지 않고, 문자열을 buffer 안에 저장한다는 것이다.

 

sprintf는 버퍼 크기를 전혀 확인하지 않는다.

너무 긴 문자열을 넣을 경우에는 버퍼 오버플로우가 발생한다는 것이다.

728x90