
scanf()와 sscanf()의 차이점은 scanf()가 표준 입력(stream)에서 문자열을 읽는 반면, sscanf()는 문자열 내에서 문자열을 읽는 것입니다.
scanf()를 사용할 때는 scanf() 함수를 호출할 때마다 scanf()가 읽어들이는 데이터가 어디에 저장될지 명시해야 합니다. 하지만 sscanf()를 사용할 때는 sscanf() 함수를 호출할 때마다 sscanf()가 읽어들이는 데이터가 어디에 저장될지 명시할 필요가 없습니다.
scanf()와 sscanf()를 사용할 때는 형식 문자열을 정확하게 입력해야 합니다. 형식 문자열이 정확하지 않으면 오류가 발생할 수 있습니다.
예를 들어, 다음 코드는 scanf()를 사용하여 표준 입력에서 정수, 문자, 문자열을 읽는 예시입니다.
#hostingforum.kr
c
#include
int main() {
int num;
char c;
char str[100];
printf("정수, 문자, 문자열을 입력하세요: ");
scanf("%d %c %s", &num, &c, str);
printf("입력한 정수: %dn", num);
printf("입력한 문자: %cn", c);
printf("입력한 문자열: %sn", str);
return 0;
}
예를 들어, 다음 코드는 sscanf()를 사용하여 문자열 내에서 정수, 문자, 문자열을 읽는 예시입니다.
#hostingforum.kr
c
#include
int main() {
char str[100] = "123 a string";
int num;
char c;
char str2[100];
sscanf(str, "%d %c %s", &num, &c, str2);
printf("입력한 정수: %dn", num);
printf("입력한 문자: %cn", c);
printf("입력한 문자열: %sn", str2);
return 0;
}
scanf()와 sscanf()를 사용할 때는 형식 문자열을 정확하게 입력해야 합니다. 형식 문자열이 정확하지 않으면 오류가 발생할 수 있습니다.
2025-04-07 19:27