PDA

View Full Version : [C\C++] Concludere un Programma


Zero-Giulio
08-02-2009, 18:09
Vorrei che al termine dell'esecuzione del mio programma, la finestra non sparisca.

Qualcosa tipo: "End of Programa. Press any key to exit...".

La


system ("PAUSE")


sarebbe perfetta, ma mi sembra di ricordare che qualche prof mi abbia detto che non è nello standard, e che quindi conviene non usarla.

Una printf su char non va bene, perchè la finestra sparisce automaticamente (probabilmente legge qualcuno degli INVIO che dò precedentemente), mentre la printf con stringhe non va bene perchè, oltre al acarattere, devo poi digitare INVIO, e non mi piace.

La system ("PAUSE") è perfetta, come potrei implementarla?

ndakota
08-02-2009, 21:21
potresti usare getchar() oppure cin.get() (in C++), il problema è che a volte non bastano e potrebbero volercene due :D io uso codeblocks e la finestra me la tiene aperta da solo :O

wingman87
08-02-2009, 22:48
Forse, ma dico forse, c'era un modo per spostarsi al fondo del buffer di input così da poter usare un getchar. Ma sono solo reminiscenze :)

Zero-Giulio
08-02-2009, 23:06
Code::Blocks tiene aperta la finestra?

Non credo, (è quello che uso io).

Da dentro l'IDE si, quando compili e poi runni ok, ma perchè è una finestra di debug.

Se poi vai a prendere l'eseguibile che viene creato (che è quello che interessa a me, perchè io voglio trasportare l'eseguibile, non tutto il codice), questo si chiude automaticamente al termine dell'esecuzione.

cionci
09-02-2009, 08:52
Il modo standard per svuotare il buffer c'è.

while(getchar() != '\n');

In c++ ci sono diversi modi, uno di questi:

std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');