(C언어) scanf와 fgets 함수를 같이 사용하면 입력 오류 발생
(포스팅 2022.10.11) 아래와 같이 Visual Studio에서 c언어로 작업중이었는데, scanf_s() 직후의 fgets() 입력이 무시되는 경우가 발생하였습니다. 이러한 문제는, scanf_s()에서 [엔터키]를 누를 때 "\r\n"이 입력되어서 발생합니다. 사용자가 scanf_s()에서 숫자를 입력후 [엔터키]를 누름. 입력 버퍼에 "\r\n"이 추가됨. scanf_s()가 '\r' 하나만 받아도 엔터키로 인식을 해서 입력을 종료함. 입력 버퍼에 남은 '\n' 은 아직 처리 되지 않음. fgets()는 '\n'를 [엔터키]로 인식하여 입력을 종료함. 아래와 같이 getchar()으로 입력버퍼의 내용을 받아 보면, code 10 = '\n' 이 들어있었음을 알 수 있습니다. 입력 버퍼에 남은..
개발이야기/C or C++ 언어 관련
2022. 10. 11. 13:06