Como Pausar um Programa em C++
- 
          
            Utilize getc()Função para pausar o programa
- 
          
            Utilize std::cin::get()Método para Pausar o Programa
- 
          
            Utilize getchar()Função para Pausar o Programa
 
Este artigo explicará vários métodos de como pausar um programa em C++.
Utilize getc() Função para pausar o programa
    
A função getc() é da biblioteca de entrada-saída padrão C, e lê o próximo caractere do fluxo de entrada dado. O fluxo de entrada é do tipo FILE*, e a função espera que o fluxo seja aberto. Em quase todos os sistemas Unix, durante a inicialização do programa, 3 fluxos de arquivos padrão são abertos - ou seja: stdin, stdout e stderr. No exemplo a seguir, passamos o stdin como um argumento, que corresponde a uma entrada de console, para esperar que um usuário continue a execução do programa.
#include <chrono>
#include <iostream>
#include <thread>
using std::copy;
using std::cout;
using std::endl;
using std::this_thread::sleep_for;
using namespace std::chrono_literals;
int main() {
  int flag;
  cout << "Program is paused !\n"
       << "Press Enter to continue\n";
  // pause the program until user input
  flag = getc(stdin);
  cout << "\nContinuing .";
  sleep_for(300ms);
  cout << ".";
  cout << ".";
  cout << ".";
  cout << "\nProgram finished with success code!";
  return EXIT_SUCCESS;
}
Resultado:
Program is paused !
Press Enter to continue
Continuing ....
Program finished with success code!
Utilize std::cin::get() Método para Pausar o Programa
Outro método para pausar um programa é chamar de std::cin builtin method get, que extrai caracteres do fluxo de entrada, conforme especificado pelos parâmetros. Neste caso, basta ler um único caractere e retornar o controle ao programa em execução.
#include <chrono>
#include <iostream>
#include <thread>
#include <vector>
using std::cin;
using std::copy;
using std::cout;
using std::endl;
using std::vector;
using std::this_thread::sleep_for;
using namespace std::chrono_literals;
int main() {
  int flag;
  cout << "Program is paused !\n"
       << "Press Enter to continue\n";
  // pause the program until user input
  flag = cin.get();
  cout << "\nContinuing .";
  sleep_for(300ms);
  cout << ".";
  cout << ".";
  cout << ".";
  cout << "\nProgram finished with success code!";
  return EXIT_SUCCESS;
}
Utilize getchar() Função para Pausar o Programa
Como forma alternativa, pode-se reimplementar a mesma funcionalidade com a chamada de função getchar. getchar é a chamada equivalente a getc(stdin), que lê o próximo caractere do fluxo de entrada do console.
Note que ambas as funções podem retornar EOF, indicando que o final do arquivo foi alcançado, ou seja, nenhum caractere está disponível para leitura. O programador é responsável por lidar com qualquer fluxo de controle excepcional e códigos de erro retornados.
#include <chrono>
#include <iostream>
#include <thread>
#include <vector>
using std::cin;
using std::copy;
using std::cout;
using std::endl;
using std::vector;
using std::this_thread::sleep_for;
using namespace std::chrono_literals;
int main() {
  int flag;
  cout << "Program is paused !\n"
       << "Press Enter to continue\n";
  // pause the program until user input
  flag = getchar();
  cout << "\nContinuing .";
  sleep_for(300ms);
  cout << ".";
  cout << ".";
  cout << ".";
  cout << "\nProgram finished with success code!";
  return EXIT_SUCCESS;
}
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook