Forum Programmation.c pb de sortie standard

Posté par  .
Étiquettes : aucune
0
17
mar.
2005
Bonjour,
En vue de réaliser un programme en C, sur Linux Mandrake 10.0, je le compile avec gcc. Mais lors de l'exécution, rien ne se passe.
J'ai alors écrit un petit programme de base :
#include  stdio.h
int main (void)
{ printf ("bonjour"); }

Qui ne donne rien sur le terminal. Le terminal est lancer sous KDE.
Quelqu'un peut-il m'aider ? Je ne comprends pas le problème par rapport à l'entrée/sortie standard.
Merci de votre aide pour un piètre débutant.
Cordialement
nmous
  • # idée

    Posté par  (site web personnel) . Évalué à 2.

    essai de "vider" le tampon d'entrée/sortie avec la fonction flush()
  • # Fin de chaine

    Posté par  . Évalué à 1.

    Met donc un retour-chariot à ta dernière chaine de caractère:

    #include <stdio.h>

    int main (void){
    printf ("bonjour\n");
    return 1;
    }
    • [^] # Re: Fin de chaine

      Posté par  . Évalué à 2.

      Attention, si tu veux dire au système que tout s'est bien passé, retourne 0, mais surtout pas 1 !!
  • # Comment tu compiles ?

    Posté par  (site web personnel) . Évalué à 1.

    Déjà mets tes headers entre des souflets : <>
    Quelle ligne de commande tu utilises pour compiler ? parceque printf écrit bien dans la sortie standard.
    • [^] # Re: Comment tu compiles ?

      Posté par  . Évalué à 1.

      Dans le source, j'ai pu les écrire, mais dans le message du forum, les supérieurs et inférieurs sont traduits par le html, alors je les ai enlevé pour le message. Mais merci.
  • # Nom du fichier ?

    Posté par  (site web personnel) . Évalué à 4.

    Question bête : quel est le nom de l'exécutable que tu génères ?
    • [^] # Re: Nom du fichier ?

      Posté par  (site web personnel) . Évalué à 5.

      Je ne sais pas qui a moinsser mais ce n'est pas une question si bête, parce que si l'executable s'appele "test" et que pour le démarrer on tape test au lieu de ./test, alors on croira que le programme ne fonctionne pas mais en fait on démarre pas le bon. Donc je plussois :)
      • [^] # Re: Nom du fichier ?

        Posté par  . Évalué à 2.

        Merci, c'était ça.
        • [^] # Re: Nom du fichier ?

          Posté par  (site web personnel) . Évalué à 1.

          \o/ bingo :)

          J'avoue, j'aurais du être plus explicite dans mon message. C'est aussi la première erreur que j'ai faite dans mes programmes c.

          Moralité : éviter de mettre "." dans son PATH, ça force à taper ./test ;)
  • # Merci à tous

    Posté par  . Évalué à 3.

    L'ensemble de vos réponses m'ont permis de trouvé mon erreur et des conseils complémentaires.
    A plux
    • [^] # Re: Merci à tous

      Posté par  (site web personnel) . Évalué à 2.

      encore un dernier conseil : compile avec l'option -Wall qui veut dire "Warning : all". Cela te permettra de voir les warnings de compilation qui peuvent cacher en fait des erreurs de programmation, surtout quand on débute.

      Tu aurais alors vu que tu déclares ton "main" comme retournant un entier, mais que tu ne retournes rien...

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.