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

programme tronqué ??

[Arhan5_
[Arhan5_
Niveau 9
01 janvier 2010 à 21:28:57

Bonjour, bonsoir à tous,

Je me suis intéressé à la programmation il y a peu, et il y a un problème étrange dont je ne comprends pas la (ou les :s) raison(s) ce qui m'embête un peu car je ne vois pas comment le résoudre.
Mon problème est le suivant : quand je lance mon programme à partir de l'éditeur, il fonctionne à la perfection, mais quand je le lance normalement (en dehors de l'éditeur), le programme semble tronqué (les dernières lignes du programme qui m'indiquent la ligne, le chemin absolu du fichier, la date et l'heure de compilation ne s'affichent pas et la procédure qui permet de quitter en appuyant sur n'importe quelle touche du clavier ne se met pas en place, au lieu de cela, la console disparaît illico le programme achevé).

Précisions :
-mon ordinateur fonctionne sous Windows Vista
-l'éditeur (IDE) que j'utilise est : Code::Blocks (version 8.02)
-j'utilise le langage C pour programmer
-le programme que j'ai réalisé est un programme de calcul (130 lignes)

Quelqu'un peut-il m'aider ?

:svp:

godrik
godrik
Niveau 30
01 janvier 2010 à 22:04:37

"les dernières lignes du programme qui m'indiquent la ligne, le chemin absolu du fichier, la date et l'heure de compilation ne s'affichent pas."
Ces informations sont liees au processus de compilation et n'ont donc pas de sens pour une execution en dehors de ton IDE. D'ailleurs elles sont affiche par l'IDE et pas par ton programme.

"la procédure qui permet de quitter en appuyant sur n'importe quelle touche du clavier ne se met pas en place, au lieu de cela, la console disparaît illico le programme achevé"
Ceci est le comportement par defaut d'une application console lance depuis le shell graphique sous windows. la pause dont tu parles est lance par l'IDE. Je te conseillerai de lancer ton programme depuis la console windows.

[Arhan5_
[Arhan5_
Niveau 9
01 janvier 2010 à 22:21:19

Merci beaucoup godrik. Je n'avais pas pensé à me servir de l'invite de commande, très pratique pourtant, par contre il ne me permet toujours pas de quitter avec une touche mais du moment qu'il affiche tout mon programme je suis content :) .

_viper_
_viper_
Niveau 10
01 janvier 2010 à 23:21:43

Si tu veux la pause à coup sûr, rajoute un appel à la fonction getchar en fin de code, ça obligera l'utilisateur à appuyer sur Enter pour clore le programme.
Si tu veux qu'on puisse appuyer sur n'importe quelle touche, tu peux utiliser l'instruction system ("PAUSE"); , mais c'est en général déconseillé de faire appel à des fonctions système.
Cependant, si tu lances ton programme depuis l'IDE avec ça, tu auras une double pause si gardes la pause automatique imposée par l'IDE.

[Arhan5_
[Arhan5_
Niveau 9
02 janvier 2010 à 10:35:07

Merci _viper_ :ange: . Je préfère utiliser une pause parce que je trouve désagréable qu'un programme (sa console en fait) disparaisse subitement en un éclair dès son exécution.

Pourquoi est-il déconseillé de faire appel à des fonctions système ?

godrik
godrik
Niveau 30
02 janvier 2010 à 19:04:24

arhan5, parceque ton programme perd en portabilite. Je ne pense pas que tu va chercher a faire des programmes portable de si tot donc ce n'est pas tres grave. Il faut juste eviter de trop se reposer dessus.

[Arhan5_
[Arhan5_
Niveau 9
02 janvier 2010 à 19:23:57

Ok merci.

dnob700
dnob700
Niveau 10
03 janvier 2010 à 16:11:31

c'est pire que ça, car system("pause") ne fonctionne pas sous windows si ta console est le nouveau powershell à la place de cmd (et il finira par devenir le standard). Donc il vaut vraiment mieux éviter ça.

[Arhan5_
[Arhan5_
Niveau 9
03 janvier 2010 à 18:45:49

En SDL, on peut analyser un évènement puis le traiter de manière à ce qu'il aboutisse à la fermeture du programme (ou à d'autres choses d'ailleurs) :
avec SDL_KEYDOWN je peux quitter en appuyant sur une touche précise ou alors n'importe quelle touche. Y a-t-il des méthodes équivalentes aussi simples dans les autres formats ?

:svp:

dnob700
dnob700
Niveau 10
04 janvier 2010 à 00:07:05

Je ne sais pas ce que tu appelle "aussi simple", car avec SDL tu dois initialiser la bibliothèque et une fenêtre et une boucle de message, etc.

Sous windows, tu peut utiliser l'interface bas niveau de la console comme c'est montré dans la fonction getch de ce fichier :

http://svn.quare.fr/viewvc/projets/trunk/Anciens%20projets%20Visual%20Studio/ADVIO/advio/gestion_win.cpp?revision=140&view=markup#l303

Pour créer l'objet InputHandle (de type HANDLE) qui est utilisér dedans, tu dois appeler la fonction
GetStdHandle(STD_INPUT_HANDLE)

Pour tout ça, il faut inclure <windows.h>

[Arhan5_
[Arhan5_
Niveau 9
04 janvier 2010 à 19:40:36

Merci dnob700. Je vais essayer.

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