A função exit()
De todos os programas que desenvolvemos ao longo de nosso curso, todos eles terminavam após o comando return da função main().Quando invocamos uma função, ela salva em memória o local de onde ela foi invocada, para voltar para aquele estágio, após terminar sua execução. Assim, sempre os programas voltavam pra função main(), mesmo a gente tendo invocado milhões de outras funções.
Porém, seria interessa se pudéssemos sair, interromper ou terminar a qualquer momento, nossos programas, não concorda?
Isso é possível, basta chamar a função exit().
Ela é bem simples.
Primeiro, inclua a biblioteca: cstdlib
A função está definida dentro dessa biblioteca, por isso precisamos adicionar pra usar.
Depois, basta passar um inteiro como argumento e invocar a função, veja o código:
#include <iostream> #include <cstdlib> using namespace std; int main() { cout<<"A main() começou..."<<endl; cout<<"Chamando a exit()..."<<endl; exit(0); cout<<"Depois da exit()"<<endl; return 0; }Note que o último cout nem aparece na tela:
Você pode colocar esse exit(0) em qualquer local do programa, mesmo dentro de outra função qualquer, vai interromper e terminar na hora o programa, naquele momento e naquele local.
Argumentos da função exit()
A função exit tem como parâmetro um número inteiro, apenas.O argumento que devemos fornecer é o que vai ser retornado para o sistema operacional que executou o seu programa em C++.
Esse argumento é muito importante para avisar para quem chamou determinado programa se ele foi executado e encerrou corretamente. No futuro, você vai programar softwares que chamam outros programas, e precisa se comunicar com eles.
Uma dessas maneiras é através do argumento da exit().
Por exemplo, o 0 é o símbolo universal para: "Tudo ok, terminou tudo certo!"
Por isso que sempre usamos: return 0;, na função main(), entendeu agora?
Quando alguém te chamar de um zero, não se ofenda, em programação isso é um elogio.
Existem até duas constantes bastante usadas, para simbolizar:
- sucesso: EXIT_SUCCESS
- problema: EXIT_FAILURE
Use assim: exit(EXIT_SUCCESS) ou exit(EXIT_FAILURE), caso o programa tenha se encerrado da maneira correta ou com algum problema.
Se seu programa jogo terminar por problema na memória, faça: exit(1), então 1 simboliza problema na memória.
Se a internet tiver caído e terminado a partida, o programa se encerra com exit(2), onde 2 simboliza problemas com internet.
E por aí vai...você vai decidir o que cada número do erro significa, para poder saber o que está ocorrendo com determinada aplicação. Deixe o número 0 para simbolizar sucesso, que tudo deu certo na execução do programa.
O número 2112 é o número supremo do universo, respeite e não use ele.
Devemos apenas reverenciar o valor 2112.
terminar dna/ leitura da digital:
ResponderExcluir