Каким будет лучший способ подождать ввода пользователя в консольное приложение?
std::cout << "press any key to exit...";
// wait for user to hit enter or another key
Каким будет лучший способ подождать ввода пользователя в консольное приложение?
std::cout << "press any key to exit...";
// wait for user to hit enter or another key
Несколько способов сделать это, вот несколько возможных однострочных подходов:
Используйте getch() (необходимо #include <conio.h>).
Используйте getchar() (ожидаемый для Enter, нужен #include <iostream>).
Используйте cin.get() (ожидаемый для Enter, нужен #include <iostream>).
Используйте  system("pause") (нужно #include <iostream>).
PS: этот метод также напечатает Press any key to continue . . . на экране. (кажется идеальным выбором для вас:))
Изменить: Как обсуждалось здесь, для этого нет полностью портативного решения. Вопрос 19.1 comp.lang.c FAQ охватывает это в некоторой степени, с решениями для Windows, Unix-подобных систем и даже MS-DOS и VMS.
a do while loop будет хорошим способом подождать ввода пользователя. Вот так:
int main() 
{
 do 
 {
   cout << '\n' << "Press a key to continue...";
 } while (cin.get() != '\n');
 return 0;
}
Вы также можете использовать функцию system('PAUSE'), но я думаю, что это немного медленнее и зависит от платформы
Для этого нет "стандартной" библиотечной функции. Стандарт (возможно, удивительно) фактически не распознает концепцию "клавиатуры", хотя у нее есть стандарт для "ввода в консоль".
Существуют различные способы достижения этого в разных операционных системах (см. решение herohuyongtao), но он не переносится на всех платформах, поддерживающих ввод с клавиатуры.
Помните, что С++ (и C) разработаны как языки, которые могут работать во встроенных системах, у которых нет клавиатур. (Сказав, что встроенная система может не иметь других устройств, поддерживаемых стандартной библиотекой).
Этот вопрос обсуждался долгое время.
Вы можете попробовать
#include <iostream>
#include <conio.h>
int main() {
    //some codes
    getch();
    return 0;
}