IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

problème de fprintf


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2005
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 33
    Par défaut problème de fprintf
    bonsoir à tous , j'ai un problème sur la question d'un tp de C qui traite sur l'utilisation de la fonction fprintf
    Mon programme consiste à écrire dans un fichier dont le nom est donné en paramètre (sur la ligne de commande) sur la sortie standard quand aucun paramètre n’est donné au programme

    voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    #include <stdio.h>
     
    int main(int argc, char *argv[]) 
    {
       FILE *f;
       if (argc!=0)
       {
    	f=stdout;
       } 
       else 
       {
            f = fopen("text_file","w");
       }
     
       fprintf (f, "cette phrase est ecrite dans un fichier\n");
       return 0;
    }
    le soucis , c'est que meme si je ne rentre pas de paramètres , la phrase s'écrit quand meme dans le fichier

    Merci à ceux qui m'aideront .

    Bonne soirée

  2. #2
    Membre Expert
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Par défaut
    Citation Envoyé par Andrey
    Mon programme consiste à écrire dans un fichier dont le nom est donné en paramètre (sur la ligne de commande) sur la sortie standard quand aucun paramètre n’est donné au programme
    Ce n'est pas clair. L'algorithme, c'est:
    - si argument alors ecrire dans un fichier
    - sinon, ecrire sur stdout
    c'est ca?

    Il faut te souvenir que argc compte egalement le nom du programme comme premier argument. Ton test est donc faux. Ensuite, le nom du fichier est codé en dur dans ton exemple, ce qui ne repond pas a la question. Il faut egalement tester si fopen() a reussi ou non. Enfin, ton indentation est... fantasque, pour dire le moins.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2005
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 33
    Par défaut
    merci beaucoup d'azumba

    bonne soirée à tous

  4. #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Et surtout: argc n'est jamais nul.
    Le premier paramètre peut, selon la plate-forme, être le nom du programme, son chemin complet, ou rien du tout. C'est à partir du second qu'on a les arguments de la ligne de commande.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème fonction fprintf
    Par leatri dans le forum C
    Réponses: 9
    Dernier message: 10/06/2013, 17h39
  2. Problème avec fprintf
    Par farid0031 dans le forum MATLAB
    Réponses: 2
    Dernier message: 06/04/2012, 18h00
  3. Réponses: 0
    Dernier message: 14/11/2008, 16h22
  4. Débutant - Problème avec fprintf()
    Par Ryuzaki dans le forum Windows
    Réponses: 3
    Dernier message: 22/03/2008, 15h56
  5. Débutant - Problème avec fprintf et backspace
    Par Ryuzaki dans le forum Windows
    Réponses: 0
    Dernier message: 22/03/2008, 14h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo