[C] sscanf, C언어 sscanf, sscanf 함수, sscanf 사용법

728x90
반응형

이번에 알아볼 C 표준 라이브러리 함수는 sscanf

 

sscanf?

문자열 버퍼의 데이터를 지정된 포맷에 맞춰 변경해주는 함수다. 말로 설명이 어려우니 코드를 보면서 확인해보자.

int main(void)
{
    char str[13] = "ABC 123 ab";
    char alpha[10];
    int num=0;
    char alphaS[10];

    sscanf(str, "%s %d %s", alpha, &num, alphaS);
    
    printf("%s", str);
    printf("\n");
    printf("%s\n", alpha);
    printf("%d\n", num);
    printf("%s\n", alphaS);

    return 1;
}

첫 번째 str[13] 변수에 문자열 "ABC 123 ab"가 저장되어 있다. sscanf함수를 호출하고 첫 번째 매개변수에 str을 전달하고, 두 번째 매개변수에 데이터의 포맷을 지정했다. 이후에 매개변수에는 문자열을 담을 수 있는 매개변수 alpha, num, alphaS를 각각 전달했다.

 

printf를 통해 각 변수가 어떻게 변했는지 확인해보자.  

str : ABC 123 ab

alpha : ABC
num : 123
alphaS : ab

첫 번째 printf에서 str 전체를 출력했다. 다음 alpha의 출력을 확인해보자. str에 저장돼 있던 "ABC"를 출력한다. 다음 num은 123을 숫자 형태로, 다음 alphaS는 "ab"를 출력한다. 

 

위 그림과 같은 식이다. str의 공백을 기준으로 문자열이 각 변수의 데이터 포맷에 맞춰 저장되었다. 

 

- 끝 -

728x90
반응형