C언어/stdio.h

[C언어] sscanf 함수 (stdio.h)

아무일도없었다 2022. 8. 9. 20:25

사용범위

Windows, Unix 등 모든 OS에서 사용가능한 표준 API 함수

기능

C언어 표준 함수로 scanf 함수와 동일하지만 표준 입력(stdin)이 아닌 string 버퍼로부터 데이터를 받아서 저장한다.

헤더

#include <stdio.h>

※ sscanf 함수 사용시 stdio.h 파일을 include 하지 않는다면 컴파일시 error 발생 ※


함수

int sscanf(const char* buffer, const char* format, ...);

파라미터

  • const char* buffer
    • sscanf 함수가 입력받을 데이터의 문자열 (string) 버퍼를 입력한다.
  • const char* format
    • 문자열 (string) 형태로 sscanf 함수를 통해 입력받을 데이터의 서식을 입력한다.
    • 서식 지정자 참고
  • ...
    • C언어의 가변인자로 입력되는 파라미터의 개수를 동적일때 사용한다.
    • sscanf 에서는 format에 들어가는 내용에 맞춰서 파라미터를 입력해야한다.
    • 변수에 할당받기 위해서는 반드시 변수의 주소값을 입력해야 한다.  ( & 사용 )

반환값

성공시  입력받는 파라미터의 개수를 반환한다.
실패시  EOF(-1) 를 반환한다.

 

<소스 코드>

#include <stdio.h>

int main() {
    int a,b,c;
    int ret;
    char buffer[]="10 20 30";
    
    ret = sscanf("%d %d %d", &a, &b, &c);
    printf("ret[%d] a[%d] b[%d] c[%d]\n", ret, a, b, c);
    
    return 0;
}

 

※ 실행 결과

ret[3] a[10] b[20] c[30]

 

반응형

'C언어 > stdio.h' 카테고리의 다른 글

[C언어] fgetc 함수 (stdio.h)  (0) 2022.08.17
[C언어] fscanf 함수 (stdio.h)  (0) 2022.08.11
[C언어] fprintf 함수 (stdio.h)  (0) 2022.08.07
[C언어] sprintf 함수 (stdio.h)  (0) 2022.08.07
[C언어] fflush 함수 (stdio.h)  (0) 2022.08.04