O trecho de código:
{
printf("Pressione ENTER para continuar...");
getchar();
}
que aparece na função CriaImagem faz com que o programa espere o usuário apertar alguma coisa antes de encerrar, para dar tempo de ler o que está escrito.
Mas no meu programa só funciona quando aparece antes da função scanf. Se aparece depois, o programa lê um ENTER, sem eu ter digitado e se encerra sozinho. Não sei porquê.
Por enquanto, estou usando o seguinte código no lugar:
{
printf("Pressione qualquer tecla para continuar...");
system("PAUSE");
}
mas, não sei se é boa prática de programação.
Quando a função scanf encontra o que ela estava procurando ela pára o "cursor" de leitura no stream. Dependendo do caso, isso acontece antes do enter, e aí quando você dá getchar ele pega justamente esse enter.
A solução mais comum quando você sabe que isso vai acontecer é simplesmente usar um outro getchar (ou scanf de %c) para limpar esse enter.
Mas talvez haja soluções melhores...
A solução mais comum quando você sabe que isso vai acontecer é simplesmente usar um outro getchar (ou scanf de %c) para limpar esse enter.
Mas talvez haja soluções melhores...