Commande C : QUIT ??

goldenmike Messages postés 366 Statut Membre -  
 OulaaaSultan.. -
Bonjour a tous !
Je voudrais savoir si il existe une commande C et uniquement C pour pouvoiur faire un espece de system("PAUSE"); et que des je je l'enlenche , des qu'on appuies sur nimporte kielle touche , et bien mon programme se ferme.
@+ et merci davance !
A voir également:

5 réponses

free_player Messages postés 39 Statut Membre 1
 
Ben, tu met:

system ("pause");
return 0;


On te demandera d'appuyer sur une touche, et ensuite il fermera l'application.
0
goldenmike Messages postés 366 Statut Membre 52
 
oui mais justement le but est de n'appuyer sur aucune touche...
0
CréNomDunChien
 
Bonjour,

Que veux tu avoir précisément ?.
0
goldenmike Messages postés 366 Statut Membre 52
 
En fait , j'ai fait un switch et j'aimerai bien que dans case 7 quand on fait 7 il ferme DIRECT l'appli...
0
fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   1 847
 
Bah dans la case 7, tu fais un return 0; si t'es dans le main. Sinon un simple exit(0);
Cdlt
0
CréNomDunChien
 
Re,

switch
Case 7
return;

--> ferme direct l'appli. je pense.
0
fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   1 847 > CréNomDunChien
 
Si t'es dans le main oui. Mais dans ce cas, il faut faire return 0;
0
CréNomDunChien > fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention  
 
Ouaip.

Dans une fct c'est bien sur exit() mais là tu chipottes quand même un peu.

Mais un main peut être un void - et alors là c'est return et pas return 0.
0
goldenmike Messages postés 366 Statut Membre 52
 
MERCI BCP !! Ca marche !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
goldenmike Messages postés 366 Statut Membre 52
 
Enfin je dis cxa marche masi moi je suis ds le main et j'ai pas encore testé le return 0; mais bon c'est pas grave ca marche bien mon exit alors c'est bon ! :)
0
NomDiDiou..
 
Re,

Si c'est un void main :

- exit() ou return() puisque void ça retourne .... rien.

Si c'est un int main() par exemple :

- exit(0) ou return(0) car ils doivent retourner un int.

Dans tous les cas - exit ou return ça revient au même.

Mais je pense que même si c'est un void main et que tu fais un return(0) ou exit(0) - ça compile et ça plante pas en C.
0
fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   1 847 > NomDiDiou..
 
Le void main n'existe pas.
Un main retourne un int.
Donc dans le main, tu fais :
return 0;
(pas besoin de parenthèses, ce n'est pas une fonction).

- exit() ou return() puisque void ça retourne .... rien.
Le prototype de exit est : void exit(int status); donc il faut mettre un int entre parenthèses.
0
NomDiDiou.. > fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention  
 
Re,

Ok pour le main - soit - une petite confusion surement de ma part dans la mesure ou si vous codez simplement return ça fonctionne quand même - même si le prototype est du type int main() .. allez savoir pourquoi.

Par contre : return 0 ou return(0) c'est strictement la même chose.

exit() ou return() --> Je crois que les lecteurs "intelligents" auront compris que c'était une abréviation de ma part pour dire exit(xxx) ou return(xxx) sans spécifier ce que ces fonctions retournaient.

Merci en tout cas pour vos précisions qui apportent une dimension "quasi-philosophique" à demande initiale.

Crdlt.
0
fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   1 847 > NomDiDiou..
 
si vous codez simplement return
Sauf que ce n'est pas standard. Si ton compilateur respecte la norme, il te l'avertira.

Par contre : return 0 ou return(0) c'est strictement la même chose.
Oui, j'ai juste dit que ce n'était pas obligatoire. C'est comme si tu fais : int a = (5)+(1), ça fait pareil. Mais c'est surprenant. Mais après, c'est le programmeur qui choisit.

exit() ou return() abréviation de ma part pour dire exit(xxx) ou return(xxx)
Ok. C'est juste que lorsque tu as parlé du int main, tu as bien spécifié exit(0) et return 0;
alors que dans void main tu as dit exit() puisque main ne retourne rien. Cela pouvait prêter à confusion.
Désolé si je t'ai offensé.

Cdlt
0
OulaaaSultan.. > fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention  
 
Re,

C'est juste que lorsque tu as parlé du int main, tu as bien spécifié exit(0) et return 0;
alors que dans void main tu as dit exit() puisque main ne retourne rien. Cela pouvait prêter à confusion.


Ma confusion initiale venait du void main() bien sur et tout le reste qui pouvait en être déduit.

Crdlt.
0