본문 바로가기
반응형

getchar()2

getchar()와 getche(), getch()의 차이점 getchar(), getche(), getch() 다 키보드를 통하여 한 글자만 입력 받는건 똑같다. 하지만 중요한 차이점이 있다. 일단 getchar() 함수는 사실 getch() 함수로 정의된 매크로이다. 그리고 getchar() 함수로 한 글자를 입력받으면 화면(모니터)으로 출력되지는 않는다. 하지만 리턴값이 바로 입력받은 그 한 글자가 된다. 반면에 getche() 함수는 한 글자를 입력받으면 화면(모니터)으로 출력한다. 물론 리턴값도 입력받은 그 한 글자가 되는것은 getchar() 함수와 같다. getchar() 함수와 getche() 함수의 가장 큰 차이점은 화면 출력여부라고 할 수 있다. 때에 따라서는 getchar() 함수가 유용할 수 있고 또 어떤 때는 getche() 함수가 유용할 .. 2007. 3. 22.
초보자들이 실수하는 getchar() 바로 알기 #include int main(){ int input_char=0; while(1) { printf("Input character:"); input_char = getchar(); if((input_char == 'y') || (input_char == 'Y')) puts("OK, 'y' input"); else puts("NO"); } return 0; } 위의 프로그램에서 y,Y를 입력받으면 OK, 'y' input를 출력하고 나머지 문자에 대해서는 NO를 출력하는 프로그램이다. 하지만 문제점이 몰까? 바로 y라고 입력하고 enter키 때문에 '\n'으로 받아지면서 NO가 한번 출력 된다. 초보자들이 의도한 바와는 전혀 다른 결과가 출력된다. getchar() 는 문자하나만 받아들이는 것이 아니라 .. 2007. 3. 7.
반응형