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 :

copié un long avec fwrite


Sujet :

C

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 52
    Points : 39
    Points
    39
    Par défaut copié un long avec fwrite
    Bonjour,

    Je travaille sur un programme dans lequel je souhaite enregistrer l'index d'un fichier dans un autre fichier. Pour cela j'utilise le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    index = ftell(Global_result_file);      // lecture index courant du fichier résultat
    fseek (Global_index_file,0,SEEK_SET);   // 1 seul enregistrement dans fichier index
    fwrite (&index,sizeof(long),1,Global_index_file); 
    fflush(Global_index_file);
    index est un long
    Global_result_file représente le fichier dont je veux récupérer l'index
    Global_index_file représente le fichier dans lequel je veux copier l'index

    Le problème est que lorsque je regarde ce qu'il y a dans le fichier Global_index_file je vois marquer "L".

    J'aimerais comprendre pourquoi il y a inscris "L" dans le fichier au lieu du numéro d'index et j'aimerais savoir comment remédier à mon problème.

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 518
    Points
    41 518
    Par défaut
    Regarde le fichier avec un éditeur hexadécimal au lieu de notepad: Il est absurde de consulter un fichier de données binaires brutes (comme un entier qui, sur un PC, sera enregistré en little-endian) avec un éditeur de texte.

    PS: Je parie que ton index est égal à 76 (0x0000004C), donc un dump hexa du fichier devrait afficher un truc de ce genre:
    Code X : Sélectionner tout - Visualiser dans une fenêtre à part
    4C 00 00 00 __ __ __ __-__ __ __ __ __ __ __ __  L...
    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.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 52
    Points : 39
    Points
    39
    Par défaut
    Je croyais que fwrite écrivait "en clair" dans un fichier.

    Merci de ta réponse.

  4. #4
    Invité(e)
    Invité(e)
    Par défaut
    Citation Envoyé par belgariel Voir le message
    Je croyais que fwrite écrivait "en clair" dans un fichier.
    Bonjour,
    Pour écrire du texte dans un fichier, le plus simple est d'utiliser fprintf (se comporte comme printf mais dans un fichier) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    FILE *f = fopen("fichier.txt", "w");
    if(NULL != f) {
        int i = 12345;
        fprintf(f, "%d\n", i);
        fclose(f);
    }

Discussions similaires

  1. pb copie de fichier avec un nom long
    Par zandru dans le forum Windows XP
    Réponses: 20
    Dernier message: 03/04/2009, 14h21
  2. Réponses: 3
    Dernier message: 19/10/2005, 15h58
  3. [Oracle9i][DataeXchanger] Temps de copie bien long
    Par Jibees dans le forum Oracle
    Réponses: 15
    Dernier message: 29/06/2005, 11h38
  4. Réponses: 4
    Dernier message: 14/01/2005, 19h41
  5. Copie de CD avec k3b
    Par -PiKo- dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 08/08/2003, 13h58

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