카테고리 없음

scanf() 로 공백도 입력받는법

쨍모 2020. 6. 6. 10:24

char str[1000000];

 

어떤 문장을 입력한다고 해보자

 

scanf("%s", str);

 

kassy jenyer ben kwanjina

 

이래 입력을 하면

실제로 kassy 까지만 입력되고

스페이스바에서 끊긴다.

 

왜냐면 scanf()는 스페이스를 입력의 끝으로 받기 때문이다.

 

이럴 때는 다른 방법이 있다.

 

scanf("%[^\n]s", str);

 

[^\n]

엔터키가 눌려서  줄바꿈이 일어날때까지

모든 것을 입력받겠다

즉 줄바꿈이 나기 전에는 공백도 다 입력으로 받는다는 뜻이다.

 

\n말고

다른 문자들을 넣고 해보면

그 문자전까지만 입력을 받는다.