본문 바로가기

Programming/C/C++

7번째, gets() 함수.

안녕하세요 두다스입니다.

이번에는 scanf() 함수와는 성격이 약간 다른 gets() 함수에 대해 알아보도록 하겠습니다.




위 사진을 보시다보면 한가지 이상한 점이 보이실 것입니다.

바로 'Happ New Year!' 이라는 문자열 전체가 출력되지 않은 것인데요.

scanf()함수를 이용해서 문자열을 입력받을때는 공백이 포함되면 'Happy New Year!' 에서 'Happy' 만 출력이 됩니다.

그 이유는 scanf() 함수에서는 공백을 '마친다' 라는 것으로 인식을 해버려서 그렇습니다.

그래서 공백이 있는 문자열을 입력하고 싶을 때에는 scanf()함수가 아닌 gets()함수를 씁니다.

gets()함수는 stdio.h 이라는 헤더파일에 포함되어 있습니다.

아래 사진은 gets()함수를 이용해서 출력받은 것입니다.


'Happy New Year!' 이라는 공백있는 문자열이 모두 출력이 됩니다.


다음번엔 scanf() 함수 사용시 주의사항에 대해 살펴보도록 하겠습니다.

p.s. 이 글은 안랩 V스쿨 카페(http://cafe.naver.com/vgeneration)와 블로그(http://dudas.tistory.com)에만 게시합니다.