Rahul Singh Gulia Ответов: 4

Microsoft visual studio 2017 - проблема getch()


#include
void main()
{
	printf("Hello C");
	getch();                          //Here getch() is used like this
}


#include
#include
void PrintMessage(void)
{
	printf("Hello C");
}

int main()
{
	PrintMessage();
	_getch();                        // here getchch() is used like this
}

Я выполняю его в Microsoft Visual studio 2017. Не могли бы вы объяснить мне это изменение, которое требуется компилятору при выполнении команды "getch()".

Что я уже пробовал:

Выходные данные поступают для обеих программ. Но поскольку я нахожусь в стадии новичков, мне нужно знать об этом изменении в одной команде.

4 Ответов

Рейтинг:
25

Richard MacCutchan

Ничего общего с Visual Studio, getch и _getch это оба вызова библиотеки Си. Вторая версия является предпочтительной в последних версиях библиотек времени выполнения C; см. _getch, _getwch | Майкрософт документы[^].


Рейтинг:
2

Lonidas Ferraz

#включить "pch.h"
#include <iostream>
#define getch() _getch()

тап_п()
{
printf("Hello C");
геч();
}


Рейтинг:
14

Rahul Singh Gulia

Да, спасибо за ответ, Ричард. Я также провел некоторые исследования по этому вопросу и обнаружил, что, написав "#define _CRT_SECURE_NO_WARNINGS " поверх заголовков, он удаляет такие ошибки в программах.


Рейтинг:
0

Thomas Daniels

Вам понадобится это в верхней части вашего файла:

#include <conio.h>
(Имя файла one #include в вашем коде, кажется, исчезло, но из-за printf я предполагаю, что один из них-stdio.h, так что у вас уже не будет conio.h).