💡 C언어의 scanf, C++의 cin과 다른점
scanf와 cin은 입력 시 버퍼를 사용하기 때문에 키 입력 후에 엔터키를 눌러야 입력이 마무리되지만, getch는 입력 버퍼를 사용하지 않기 때문에 키를 누름과 동시에 값이 입력됨
➕ SPACE나 ENTER와 같은 특수 키도 입력이 가능함
#include <iostream>
#include <conio.h>
int main()
{
char c = _getch();
cout << c; // d 키를 누르면 'd'가 출력되고, 만약 int로 받았다면 100 출력
return 0;
}
#include <conio.h>
#include <iostream>
int main()
{
while(1)
{
std::string str = "";
char c = _getch();
str.push_back(c);
std::cout << str << "\n";
if (c == '-')
{
break;
}
if (_kbhit())
{
str.push_back(_getch());
}
std::cout << str << "\n";
str = "";
}
return 0;
}
한글과 한자, 확장키는 모두 2byte를 차지하므로, getch함수를 한번더 받아줌
➕ 아스키 코드표
