Nesta aula você irá aprender porque você não deve utilizar a função system(“pause”) com a linguagem de programação C .
Quando fazemos uso de uma IDE como o Code Blocks, ao compilar e executar nosso programa, o terminal permanece aberto mesmo após a finalização do nosso programa. Isso permite avaliar a saída gerada pelo nosso código.
Dependendo do editor que esteja sendo utilizado e como está sendo feita a compilação, pode ser que o terminal fique aberto apenas durante o processo de execução do programa, fechando assim que o programa finaliza. Isso gera aquela sensação de que o terminal apenas “piscou” na tela, abrindo e fechando em seguida.
Nesse momento, muitos recorrem à função system(“pause”) para pausar o terminal, permitindo assim verificar a saída gerada pelo programa. O maior problema é que esta função faz com que seu programa não seja mais portável, ou seja, ele não funcionará como esperado em outros sistemas operacionais, uma vez que esta função é uma função do sistema operacional Windows.
A verdade é que a função system(“pause”) nem é necessário, uma vez que o mesmo efeito pode ser obtido de maneiro muito fácil fazendo uso das funções da biblioteca padrão da linguagem C. Para reproduzir este efeito de espera, basta pedir para o usuário pressionar qualquer tecla para continuar e, sem seguida, fazer a leitura de um caracter no final do seu programa, como a seguir:
// código do seu programa // imprime uma mensagem printf("Pressione qualquer tecla para continuar"); // ler um caracter do teclado scanf("%c"); // ou getchar();
Nas aulas seguinte aprenderemos como utilizar a função scanf() em mais detalhes.
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_PARA OS INICIANTES_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
A IDE Code Blocks é minha queridinha para programar em C e sempre será utilizada nas aulas. Assim, se você não a conhece ou tem dúvidas de onde baixar e instalar, eu preparei uma série de videoaulas falando apenas sobre recursos desta IDE, inclusive onde baixar e como instalar. Confira aqui.