アプリ版:「スタンプのみでお礼する」機能のリリースについて

DSPを用いたシステムを開発している途中なのですが。ループ内でのキー判別ができません。

whlie文で無限ループを行い,特定のキー(Enter等)が押されたらその動作を行うという判別ができません。
get関数等を無限ループの中で用いると,get文のところで止まってしまい,これでは私が求めている処理を行うことができません。

無限ループを行い,キー操作があった時だけその動作をする関数があれば教えてください。

PC:window7,visual stdio

A 回答 (4件)

この回答への補足

この関数はキーの指定が出来ないので 私が作ろうとしてえいるシステムでは活躍することができません。
Enterをしたら1
Homeをおしたら2
などにしたいのです。

補足日時:2013/07/08 17:41
    • good
    • 0

_kbhit と _getch を組み合わせても出来ないのですか?

    • good
    • 0

int c;



while( 1 ) {
if ( c = kbhit() ) {
switch( c ) {
case 0x0d:
         printf( "Enter Key\n" );
break;
    …
    …



の様に、kb_hit() が真の時に、getch() でキーコードを取得すればOKです。

キーコードを取得した後は、if 文か、switch文 (判別したいコードがたくさんある時は switch文がベター)で、それぞれのキーコードに従った処理を記述すれば良いです。

ご参考に。
    • good
    • 0

あえてウィンドウを出すという選択肢もあるかな.



特に「キーボードを変えたら動作しなくなった」とかいうアレな状況にはまりたくなければ.
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!