ユーザーがキーボードの任意のボタンを押すと、大文字のprintf
を除いて、特定の文字列をP
する関数を作成しようとしています。ただし、ユーザーがP
を押すと、ループを壊します。
しかし、私は_kbhit
と_getch
を適切に使用しているとは思いません。数字の80を使用します。これは、80のASCII記号....混乱してすみません
void activateAlarm(int channelID) {
int key = 0;
while(temperatureChannel[channelID].currentTemperature > temperatureChannel[channelID].highLimit
||temperatureChannel[channelID].currentTemperature < temperatureChannel[channelID].lowLimit) {
beep(350,100);
if (_kbhit()) {
key = _getch();
if(key == 'P');
break;
}
}
}
説明する必要はありません、コードはよりよく話します:
#include <conio.h>
// ...
printf("please press P key to pause \n ");
int key = 0;
while(1)
{
if (_kbhit())
{
key =_getch();
if (key == 'P')
break;
}
}