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 :

ecrire un entier dans un fichier


Sujet :

C

  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 6
    Points : 7
    Points
    7
    Par défaut ecrire un entier dans un fichier
    salut

    j'ai un problème avec l'écrite des entiers dans un fichier.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    int mon_int=15;
    char c=(char) mon_int;
    fwrite(&c,1,1,monfichier);
    lorsque j'ouvre mon fichier en lecture je ne trouve pas 15 mais plustot d'autre caractères.

    est que quelqu'un peut m'aider?


    merci

  2. #2
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Points : 2 505
    Points
    2 505
    Par défaut
    C'est donc la représentation décimale de l'entier que tu veux écrire dans le fichier ? Dans ce cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fprintf(monfichier, "%d", mon_int);
    Le code que tu as donné écrit un octet dans un fichier, et cet octet contient la valeur 15. Quand tu édites le fichier, l'éditeur t'affiches le caractère dont le code ASCII est 15. Il se trouve que le code 15 ne correspond pas à un caractère imprimable, donc tu vois n'importe quoi.

    Si tu veux voir un 15 quand tu édites le fichier, il faut écrire deux octets : le premier est la valeur ascii du caractère '1' (c'est à dire 49), le deuxième celle du caractère '5' (c'est à dire 53). C'est ce que fait le %d de fprintf.

  3. #3
    Futur Membre du Club
    Inscrit en
    Mai 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    merci

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

Discussions similaires

  1. ecrire un entier dans un descripteur de fichier
    Par nicoesenlamierda dans le forum Linux
    Réponses: 17
    Dernier message: 12/09/2008, 17h09
  2. Ecrire un entier dans un fichier
    Par Kylie - XX dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 03/06/2008, 20h59
  3. Ecrire des entiers dans un fichier local
    Par Rodrigue dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 21/03/2008, 17h17
  4. Ecrire et lire dans un fichier texte
    Par podz dans le forum C
    Réponses: 3
    Dernier message: 25/10/2005, 17h57
  5. récupérer un entier dans le fichier ".rc"
    Par luffy0013 dans le forum MFC
    Réponses: 2
    Dernier message: 15/02/2005, 13h44

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