Forum Programmation.c pb de sortie standard

Posté par .
Tags : aucun
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 (page perso) . É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;
    }
  • # Comment tu compiles ?

    Posté par (page perso) . É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 (page perso) . Évalué à 4.

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

      Posté par (page perso) . É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 (page perso) . É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 (page perso) . É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 à ceux qui les ont postés. Nous n'en sommes pas responsables.