eddyhalim
asked on
how can i capture esc key press ?
i tried to use getche() but there is a problem with it.
cout<<"please enter the key :";
cout<<endl;
choice = getche();
if we are not using endl the cout will not appear until we press akey.
so is there another way to write it?
cout<<"please enter the key :";
cout<<endl;
choice = getche();
if we are not using endl the cout will not appear until we press akey.
so is there another way to write it?
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
One problem using getch() is that it cannot accept key like CAPS lock. ReadConsoleInput function can! But remember to include <windows.h>
hongjun
hongjun
Ok, but is he using windows?
I am just trying to help. This is definitely a better one since it can read in any key even if the key input is a system key.
hongjun
hongjun
ASKER
thanks for all your help,I'll try it first.
Hong jun,
you are singaporean, i have some question to ask due to University for Computer Science in your country. Which one is the best university in Computerscience.?
Hong jun,
you are singaporean, i have some question to ask due to University for Computer Science in your country. Which one is the best university in Computerscience.?
Are you a Singaporean or a foreign? Basically there are currently 2 Universities in Singapore - National University of Singapore(NUS) and Nanyang Technological University(NTU). I feel that NUS is better in your field you want.
By the way, ReadConsoleInput function can be used even if you are not creating a Win32 window.
hongjun
By the way, ReadConsoleInput function can be used even if you are not creating a Win32 window.
hongjun
ASKER
wytze thanks a lot for your help but using flush it's not work. it's also almost same as endline.
, i finally found it the way change the cout by using the printf ot cputs.
, i finally found it the way change the cout by using the printf ot cputs.
ASKER
hongjun, i am foreign not singaporean.
by the way what are u studying now?.
by the way what are u studying now?.
if you want no buffering in your output, you could try the follwing:
cout.setf(ios::unitbuf);
cout << "Hello" << " this" << " an";
the output is now flushed per unit. In this case three times.
The advantage above printf en cputs is that u remain in pure C++, some regard this as a disadvantage but that is matter of taate.
cout.setf(ios::unitbuf);
cout << "Hello" << " this" << " an";
the output is now flushed per unit. In this case three times.
The advantage above printf en cputs is that u remain in pure C++, some regard this as a disadvantage but that is matter of taate.
I am studying in Singapore Polytechnic studying Computer Information Systems. I am studying programming like C++, VB 6.0, Windows Programming, Networking and security to list a few.
University is better than a Polytechnic and so if you can enrol yourself in a University then go for it. You will definitely learn more than me.
hongjun
University is better than a Polytechnic and so if you can enrol yourself in a University then go for it. You will definitely learn more than me.
hongjun
ASKER
i'm now studying in collage in malaysia. taking a degree in Computer science too.I'm learning programming such as VC++6(new),VB6,delphi, assembly.and also i still learning some graphic design such as 3dmax, and photoshop(i learn by myself)
Me too! I also learn Photoshop by myself. My course do not teach Photoshop and so have to learn by myself.
hongjun
hongjun
ASKER
thanks anyway for your info.
ASKER
thx to wytze
ASKER
thx for your help wytze
choise=getch();
if (choise == 0x00){
// function key
choise = getch();
}else if (choise == 27) {
// escape;
cout << "ESC";
}else {
cout << choise;
// do some thing with choise
}