2015-01-14 3 views
-1

스페이스 바를 감지해야하는 C++의 프로그램이 있는데 어떻게 할 수 있습니까? 내가 함수 getch()을 필요로한다는 것을 알지만 내 프로그램에서는 내가하지 않았다. conio.h. 다른 솔루션이 있습니까?스페이스 바를 어떻게 탐지합니까?

getchar 나는 프레스 intro을 필요로합니다. 스페이스 바를 누르는 다른 형태가 있습니까?

예를 들어, intro을 누르지 않고 소개 할 수 있습니까? intro ???

+3

대해 ['getchar가()'] (HTTP ://www.cplusplus.com/reference/cstdio/getchar/) 또는 ['getc'] (http://www.cplusplus.com/reference/cstdio/getc/)? – 101010

+1

@IrrationalPerson conio.h는 표준 C++ 헤더가 아닙니다. – dandan78

답변

2

간단한 예제

#include <iostream> 

using namespace std; 

int main() 
{ 
    char ans; 
    do 
    { 
     //code 
    } 
    while(getchar() != 32 || getchar() != ' '); 

    cout << "Space pressed" << endl; 
    return 0; 
} 

Compiled Code

있는 Windows.h :

if(GetAsyncKeyState(VK_SPACE) & 0x80000000) 
    MessageBox(NULL, "Spacebar pressed!", "TEST", MB_OK); 

더 conio.h와 참조하지

+0

잘못된 것이 있으면 –

+2

말해 줄 문제는 라인 버퍼링입니다. 당신은 반환을 명중 한 후에'char (32)'를 얻을 것입니다. 두 번째 문제는''''이어야하며''32 ''입니다. – MSalters

+0

@IrrationalPerson for one, 세미콜론이 누락되었습니다. 솔루션을 컴파일하려고 시도 했습니까? –

관련 문제