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 :

Checker mon programme, très basic


Sujet :

C

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 6
    Par défaut Checker mon programme, très basic
    Bonjour à tous;

    J'ai un problème avec la fonction fgetc... quand je lance mon programme, ma console me redonne bien ce qui a été écrit avec via fprintf dans le fichier text. Par contre, je ne comprends pas pourquoi la console semble m'afficher un grand nombre de ligne sans caractères. Normalement la boucle devrait s'arrêter assez facilement, pourtant on peut descendre assez bas au niveau de la console même si rien n'est affiché. Je me demandais pourquoi ?

    Merci

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    #include <stdio.h>
    #include <stdlib.h>
     
    int main(int argc, char *argv[])
    {
        int age=0,caract=0;
         FILE*fichier=NULL;
         fichier=fopen("read.txt","r+");
         printf("quel age avez vous ?");
         scanf("%d",&age);
     
         if (fichier!=NULL)
         {
          fprintf(fichier,"le monsieur dit qu'il a %d ans",age);
           fclose(fichier);
     
         }
         else
         {
             printf("ca n'ouvre pas");
         }
     
     
           fichier=fopen("read.txt","r");
     
         do
             {
                 caract=fgetc(fichier);
                 printf("%c",caract);
     
             }while (caract!=EOF);
     
     
              fclose(fichier);
             return 0;
    }

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 815
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 815
    Billets dans le blog
    1
    Par défaut
    Salut
    Mis à part que tu ouvres le fichier en "r+" (donc tu te places au début pour écrire dedans ce qui écrase alors ce qui s'y trouve déjà), ton code est correct.
    Son seul gros défaut c'est que quand fgetc() renvoie EOF, tu affiches quand-même "caract". EOF ce n'est pas une valeur lue dans le fichier, c'est une valeur spéciale renvoyée par la fonction quand elle ne lit plus rien. Elle n'a donc pas à être affichée => while ((caract=fgetc(fichier)) != EOF) printf("%c",caract).
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 6
    Par défaut
    Je te remercie.

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

Discussions similaires

  1. mon programme est très lent
    Par kawther dans le forum Images
    Réponses: 4
    Dernier message: 08/04/2010, 12h28
  2. envoyer un mail avec mon programme
    Par shrek dans le forum C++Builder
    Réponses: 8
    Dernier message: 06/12/2006, 12h27
  3. [Lien]erreur dans mon programme python
    Par durnambule dans le forum Général Python
    Réponses: 11
    Dernier message: 29/01/2004, 14h59
  4. [] Utiliser AVI d'une DLL dans mon programme
    Par seb.49 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 02/05/2003, 14h52
  5. Réponses: 11
    Dernier message: 17/03/2003, 10h56

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