CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[C] Commande pour quitter la console ?

DeepTurtle
DeepTurtle
Niveau 6
07 décembre 2011 à 10:04:54

Bonjour bonjour :noel:

Bon, en fait, je cherche une commande (ou fonction) qui permet de quitter directement la console dans le cas d'un programme en console.

C'est à dire que par exemple, j'ai un switch qui me dit de taper 1 pour recommencer, ou 2 pour quitter le programme.

Et donc, quand je tape "2", j'aimerai que la console se ferme direct quoi :oui:

Je ne sais pas trop si je suis bien clair.

J'ai cherché, j'ai trouvé qu'il fallait mettre :
system("exit");

Et que ça, ça fermait directement la console... Sauf que ça marche pas.

Alors si c'est possible de faire ça, merci de m'aider :content:

chris_27
chris_27
Niveau 10
07 décembre 2011 à 10:47:00

[je suppose que tu es sur un système de type Unix]

Réponse 1 : tu envoies un signal de terminaison à la console.

  1. include <sys/types.h>
  2. include <signal.h>

[…]

pid_t console_pid = getppid();
kill(console_pid, SIGKILL);

NB: en fait, on tue le shell, et ça ne marche donc que si le terminal se ferme en cas de terminaison prématurée du shell sous-jacent. Bref, c'est sale de partout, mais en pratique ça marche.

Réponse 2 : ce n'est pas comme ça que marche la vraie vie. Lance ton programme précédé du mot clé exec (ou fais un alias), et tu auras l'effet voulu sans changer le code.

Nom-Di-Diou
Nom-Di-Diou
Niveau 3
07 décembre 2011 à 22:40:03

exit(0) ?

chris_27
chris_27
Niveau 10
07 décembre 2011 à 22:56:28

exit(0) ça terminera juste le programme.

mystercy
mystercy
Niveau 8
08 décembre 2011 à 05:09:40

Oui mais si tu lance la console via la compilation ta console se fermera pas lance ton .exe tu vera ;)

Ps : ton .exe doit etre dans le repertoire que ta créer puis bin/debug/aaa.exe

chris_27
chris_27
Niveau 10
08 décembre 2011 à 11:26:30

On ne parle clairement pas de la même console. La fenêtre dans laquelle se lance les programmes textes sous windows, je n'appelle pas ça une console pour commencer. :(

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment