scanf 함수의 문제점에 대해 알아보자.
scanf는 융통성이 별로 없고, 사용이 그리 편치 않다.
가급적 fgets를 쓰는게 낫다.
스캔셋(Scanset)은 기본적으로 %s와 유사하다.
그러나, 모든 문자열을 입력받는 것이 아니라 별도로 기술한 범위에 속하는 것들만 골라서 입력을 받는다는 점이 다르다.
그리고 그 범위에 속하지 않는 문자가 등장하는 지점에서 입력을 종료한다.
scanf의 %s는 입력 구분을 의미하는 공백 문자를 처리할 수 없었지만 스캔셋을 이용하면 scanf()함수가 gets()함수처럼 작동하게 할 수도 있다.
[^ "문자"]
해당 문자가 나오기 전까지 입력을 받겠다.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#define LEN 128
int main() {
char str[LEN] = {0, };
scanf("%[^\\n]s", str);
printf("%s", str);
return 0;
}