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
반응형
'Programming language > C' 카테고리의 다른 글
[C] float to ascii(실수형을 아스키 코드로) (1) | 2022.09.21 |
---|---|
[C] 포인터, C 포인터, C Pointer, 포인터 활용하기 - 1 (0) | 2022.09.03 |
[C] memcpy, C언어 memcpy, memcpy 함수 (0) | 2022.08.31 |
[C] memset, C언어 memset, memset 함수 (0) | 2022.08.30 |
assert, static_assert (0) | 2021.05.26 |