위 그림처럼 setCursor()함수를 써주고 사각형을 출력하면 종류문구가 그림을 통과하면서
그림이 깨진다
"저렇게 되는 이유는 마지막 커서가 끝나는 부분에서 저 종료문구가 나오기때문이다"
해결방법은 두가지이고
첫번째는 main함수가 끝나는 부분에 커서를 더 아래로 옮기거나
두번째는 main함수 마지막에 getchar();함수를 넣는것이다.
getchar() 함수는 엔터(\n)가 들어올때까지 입력을 입력버퍼에 담아두었다가 엔터가 들어오는 순간 입력을 멈추고
버퍼에 입력된 값들중 제일 첫글자를 리턴해준다
비슷한 함수들이 있는데
getchar(), getche ,getch 이렇게 3가지
일단 getchar()함수와 getch, getche의 차이점은
위에서 설명 했듯이 getchar()는 입력버퍼에 값을 넣어두지만 나머지 두 함수는
바로 값을 리턴한다
예를들어 "hellow" 라는 값을 입력한다면
getchar()를 사용하면 버퍼에 hellow이 여섯글자가 들어있고 그중에 h만 반환하는것이고
getche나 getch는 hellow를 다 치기도 전에 h를 눌렀다 때면 바로 그값만 들어간다
getche와 getch의 차이점은
getche()는 입력과동시에 출력도되고 리턴값을 변수에 저장할수도있다
getch()는 그냥 변수에 리턴값 저장만된다.
'programming > c , c++' 카테고리의 다른 글
[테트리스개발] 방향키클릭시 이동 느림 이슈 관련 (0) | 2021.08.28 |
---|---|
[테트리스개발]에러:위치를 읽는 동안 액세스 위반이 발생했습니다. (0) | 2021.07.18 |
[테트리스개발]c언어 난수생성 (0) | 2021.07.12 |
[테트리스개발]BOOL WINAPI 반환타입 (0) | 2021.07.11 |
[테트리스개발] 테두리 그리기 (0) | 2021.07.04 |