Voglio crearmi una funzione pausa da inserire in ogni programmino che faccio... Siccome non mi piacciono le cose fatte tanto per fare, anche il semplice Hello World me lo sono fatto con tanto di intestazione, parte finale e dicitura "Premere un tasto per continuare"... Credo che un esempio renda meglio l'idea...
Codice: Seleziona tutto
#include <stdio.h>
#include <stdlib.h>
void pausa();
void pausa() {
char pause[2];
printf("Premere un tasto per continuare... ");
scanf("%s", pause);
printf("\n");
}
int main() {
system("clear");
printf("\n\n\nProgrammino Ciao mondo...\n\n\n");
printf("Hello World\n");
pausa();
printf("Grazie... Ciao!!!\n");
return 0;
}
Ho iniziato provando la comunissima funzione getchar();, che non serviva "a niente" perché l'esecuzione continuava come se non ci fosse nessuna getchar...
Ho provato allora ad utilizzare la scanf("%*c"); letta da qualche parte in internet, che solo come è scritta non mi ha convinto molto, ed infatti aveva un comportamento uguale alla getchar()...
Allora ho provato ad usarla normalmente creando una variabile pausa ed usandola con scanf("%c", pausa);, ma mi costringe a digitare almeno un carattere prima di permere INVIO per farlo continuare...
E per ultimo ho provato scanf("%s", pausa); dichiarando la char pause[2]; di due elementi così da poter contenere l'eventuale \0, carattere NULL di fine stringa... ma niente da fare...
Come potrei ovviare a questo problemino??? L'ideale sarebbe un qualcosa di interno al C, in modo tale che, a parte alla dipendenza da Linux dovuta al system("clear");, il programmino sia compilabile anche su altri OS...
Grazie a tutti...