خب تابع getch() دقیقاً همین کارو میکنه که تنها یک کاراکتر میگیره و منتظر هیچ کلید دیگه ای نمیمونه.
البته برای اطلاع از اینکه اون کاراکتر چی بوده، میتونید اینجوری ذخیرهش کنید:
char b;
b=getch();
cout<<b;
و اگه بیشتر از یک کاراکتر داشته باشین. دقیقاً مثل گرفتن یک رشته با این تفاوت که نمیخوایم در نهایت کلید اینتر بزنیم، باید از یک حلقه استفاده کنید که تا مدت مشخصی منتظر خوندن یک کاراکتر باشه و اگه کلیدی فشرده نشد عمل خوندن رو تموم کنه. میتونید به این صورت این کارو انجام بدین:
while(countdown++ <= 1000){ // give a second to hit something
if(b=kbhit()) // if the user presses a key
break; // leave the loop early
Sleep(1); // else, sleep for 1 ms and try again
}
if (b != 0) // if something was pressed
printf("The key was %d\n", getch());