2008/02/16 21:45
크리에이티브 커먼즈 라이선스
Creative Commons License
일반적으로 getchar() 함수는 하나의 문자 입력을 받을 때 쓰는 함수입니다.

콘솔상태에서 알고리즘 프로그래밍을 하다보면
데이터 입력을 받을때 주로 쓰는 함수가
scanf, getchar 등이 있겠는데요.

오늘 제가 말씀드리고자 하는건 getchar() 함수의 다른 용도 입니다.

디버그에 이용하는 것 입니다.

어떻게 이용하느냐...

예를들면 이런 것 입니다.

엄청나게 복잡한 프로그램이 수행되고 있는데 갑자기 중간에 오류가 생기는거죠
여기서 VS 디버거를 이용하면 그만 아니냐... 라고 말하신다면 그냥 묵념하겠습니다
네.. 여기서 말씀드리고자 하는건
VS 디버거를 편리하게 사용할 수 없는 경우 입니다.
Webot 이나 다른 프로그램에 연동되는 것을 이용할 때
간혹 디버거를 이용할 수 없는 경우가 있습니다.
리눅스에서도 GDB나 이런 디버거를 이용하기 어려운 경우를 이야기 합니다.

이럴때
getchar() 함수와 printf 나 puts 등의 함수를 세트로 곳곳에 배치하는 것
입니다.

이렇게 되면 현재 프로그램의 진행상황을 살펴볼 수 있으니
편리하게 오류를 잡아낼 수 있는 것이죠.
puts 나 printf 로 모든 프로그램의 진행상황을 다 추적해보는 것도 하나의 방법입니다만,
어떤 콘솔 프로그램은 오류가 나는 즉시 중단되어 버리기도 하기 때문에
getchar 함수를 디버그에 이용하면 편리합니다.

많은 분들이 이미 이렇게 쓰시는 분도 계시는지 모르겠지만...
모르시는 분들도 혹시 있을까해서 한번 적어보았습니다.
Posted by SHHyun