Why getch() is not working in Visual Studio 2008?

Lyrk picture Lyrk · May 6, 2013 · Viewed 23.8k times · Source

Below code works in DevC++ with MinGW works flawlessly but Visual Studio 2008 spits this:

error C3861: 'getch': identifier not found . 

What can I do to accept getch() if this is not possible is there an alternative to getch() that I can use to pause the screen?

Code:

#include <stdio.h>
#include <conio.h>

int main(void){

    char str[] = "This is the end";
    printf("%s\n", str);
    getch();   //I tried getchar() also still does not work
    return 0;

}

Answer

BLUEPIXY picture BLUEPIXY · May 6, 2013

use _getch()

e.g.

#define getch() _getch()

sample

#include <stdio.h>
#include <conio.h>

#ifdef _MSC_VER
#define getch() _getch()
#endif

int main(void){

    char str[] = "This is the end";
    printf("%s\n", str);
    getch();
    return 0;

}