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 :

Ecriture dans un fichier : pourquoi mon fichier n'est pas binaire ?


Sujet :

C

  1. #1
    Rédacteur
    Avatar de cladsam
    Profil pro
    Inscrit en
    Août 2003
    Messages
    1 785
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2003
    Messages : 1 785
    Points : 2 436
    Points
    2 436
    Par défaut Ecriture dans un fichier : pourquoi mon fichier n'est pas binaire ?
    Bonjour,

    mon soucis est le suivant, je dois écrire des données dans des fichiers, ces fichiers doivent être binaires (un consigne), soit le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    /* Lecture du fichier a attaquer */
       FILE *desc_fichier; 
       char fichier[30];
       close(tube[1]);
       while(1)
       {
    /*Récupère le nom du fichier 	*/			
         int lg_fichier = 	read(tube[0],fichier,4);
    /* Ecriture du numéro d'équipe et PID en binaire */
         desc_fichier=fopen(fichier, "wb");	/** Ecriture en binaire */
         fprintf(desc_fichier,"%d %d\n",n_equipe,getpid());	
         fclose(desc_fichier);
         }
    ce code fait "presque" ce que je veux : ca me crée les fichiers dont le nom est récupéré via le tube, ca inscrit un numéro 1 PID du processus et ca ferme le fichier.
    Seulement le fichier n'est pas détecté comme un fichier binaire par Linux, je voudrais donc savoir pourquoi? Pensez-vous que j'ai oublié quelque chose dans le fopen qui fait que je ne suis pas en binaire ?

    Merci de votre aide précieuse
    Chef de Projet SAP. Certifié Prince2 Practitioner
    ---------------------------------------------------
    Anakin Skywalker turned to the Dark Side after his failed attempt to upgrade R/2-D2 to R/3-D2.

  2. #2
    gl
    gl est déconnecté
    Rédacteur

    Homme Profil pro
    Inscrit en
    Juin 2002
    Messages
    2 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 165
    Points : 4 637
    Points
    4 637
    Par défaut
    Le fichier est bien ouvert et cree en mode binaire. Il n'y a pas de probleme.

    Par contre, puique tu ecris uniquement des chaines de caracteres dans ce fichier, il est vu comme un fichier texte.

  3. #3
    Rédacteur
    Avatar de cladsam
    Profil pro
    Inscrit en
    Août 2003
    Messages
    1 785
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2003
    Messages : 1 785
    Points : 2 436
    Points
    2 436
    Par défaut
    Citation Envoyé par gl
    Le fichier est bien ouvert et cree en mode binaire. Il n'y a pas de probleme.

    Par contre, puique tu ecris uniquement des chaines de caracteres dans ce fichier, il est vu comme un fichier texte.
    Merci beaucoup
    Encore un petit truc, est-ce que GREP passe sur ce fichier (ou il est considéré comme bianaire et la recherche ne marche pas )?
    Chef de Projet SAP. Certifié Prince2 Practitioner
    ---------------------------------------------------
    Anakin Skywalker turned to the Dark Side after his failed attempt to upgrade R/2-D2 to R/3-D2.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 86
    Points : 109
    Points
    109
    Par défaut
    apparement moi pas de problème avec grep au cas ou tu peux utiliser l'option
    -a, --text
    Process a binary file as if it were text; this is equivalent to
    the --binary-files=text option.
    While I breath, I hope.

  5. #5
    Rédacteur
    Avatar de cladsam
    Profil pro
    Inscrit en
    Août 2003
    Messages
    1 785
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2003
    Messages : 1 785
    Points : 2 436
    Points
    2 436
    Par défaut
    Citation Envoyé par scriptoff
    apparement moi pas de problème avec grep au cas ou tu peux utiliser l'option
    -a, --text
    Process a binary file as if it were text; this is equivalent to
    the --binary-files=text option.

    Super merci
    Chef de Projet SAP. Certifié Prince2 Practitioner
    ---------------------------------------------------
    Anakin Skywalker turned to the Dark Side after his failed attempt to upgrade R/2-D2 to R/3-D2.

  6. #6
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par gl
    Le fichier est bien ouvert et cree en mode binaire. Il n'y a pas de probleme.

    Par contre, puique tu ecris uniquement des chaines de caracteres dans ce fichier, il est vu comme un fichier texte.
    Le problème, c'est que les "\n" vont être enregistrés tel quels sans interprétation (DOS/Windows : "\n\r", par exemple, mais sous unixoïde, pas de différences).
    Pas de Wi-Fi à la maison : CPL

  7. #7
    gl
    gl est déconnecté
    Rédacteur

    Homme Profil pro
    Inscrit en
    Juin 2002
    Messages
    2 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 165
    Points : 4 637
    Points
    4 637
    Par défaut
    Citation Envoyé par Emmanuel Delahaye
    Le problème, c'est que les "\n" vont être enregistrés tel quels sans interprétation
    Vu qu'il est dit:

    Citation Envoyé par cladsam
    Seulement le fichier n'est pas détecté comme un fichier binaire par Linux,
    J'ai suppose que cladsam etait sous Linux.

    Vu que la detection se base sur l'entete du fichier (ici il n'y en a pas) et sur la presence et la frequence de certains bytes, il est tout a fait logique que meme ouvert en binaire, le fichier soit vu comme un fichier texte.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 16/11/2011, 12h26
  2. [Fichier Zip] mon url n'est pas prise en compte
    Par zouuc dans le forum Entrée/Sortie
    Réponses: 13
    Dernier message: 24/02/2009, 09h48
  3. Pourquoi mon menu n'est pas a sa place ?
    Par flippaeti dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 19/02/2009, 15h45
  4. pourquoi mon site n'est pas indexé par google
    Par lonyc dans le forum Référencement
    Réponses: 0
    Dernier message: 28/10/2008, 22h58
  5. [C# 2.0] Pourquoi mon DataAdapter n'est pas instancié ?
    Par FraktaL dans le forum Services Web
    Réponses: 2
    Dernier message: 04/07/2006, 01h04

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