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 :

buffer pour fichier


Sujet :

C

  1. #1
    Membre averti

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 21
    Par défaut buffer pour fichier
    bonjour à tous

    Voila, je veu recopier le contenu d'un fichier dans un autre, le probleme c'est que ce fichier est composé de plusieurs structures de tailles differentes, je voulais donc savoir s'il existe un type "bit" ou assimiler
    pour recopier le premier fichier dans le deuxième par bloc de 512 octets.

    merci

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut Re: buffer pour fichier
    Citation Envoyé par Ellessar
    Voila, je veu recopier le contenu d'un fichier dans un autre, le probleme c'est que ce fichier est composé de plusieurs structures de tailles differentes, je voulais donc savoir s'il existe un type "bit" ou assimiler
    pour recopier le premier fichier dans le deuxième par bloc de 512 octets.
    C'est pas clair. Pour copier un fichier directement, une lecture / ecriture brute (raw, mode binaire "rb" / "wb") par byte ou par bloc suffit.

    Non, il n'y a pas de type 'bit'. L'objet le plus petit (char) faut au moins 8 bits. Si tu veux faire une copie par bloc de 512 (quel intéret) il suffit d'utiliser un buffer de 512 bytes. Mais si le nombre de blocs de 512 bytes n'est pas entier, le fichier copié aura des données non désirées à la fin...

  3. #3
    Membre averti

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 21
    Par défaut
    ok c vrai que c'est pas clair, je m'en excuse.

    je voulais comme tu l'as dit, faire une lecture/ecirture brut

    le fichier a lire est ouvert en "r+b" car je dois le modifier par la suite, et le fichier a ecrire est ouvert en "w+b".

    raw?? c'est la commande a utiliser? Si oui pourrais-je avoir quelques precisions concernant son utilisation, car je ne la connait pas.

    je precise aussi que je travaille sous win XP, avec devc++ 4

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Ellessar
    je voulais comme tu l'as dit, faire une lecture/ecirture brut
    Euh, j'avais écrit "une lecture / ecriture brute" ;-)
    le fichier a lire est ouvert en "r+b" car je dois le modifier par la suite, et le fichier a ecrire est ouvert en "w+b".
    Je déconseille formellement les accès en lecture / ecriture sur le même fichier. C'est en général un bon moyen de perdre 230Mo de données d'un coup!

    Il vaut mieux travailler avec 2 fichers, quitte à les renommer / supprimer (rename() / remove()) pour faire propre.

  5. #5
    Membre averti

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 21
    Par défaut
    et concernat le raw??

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Ellessar
    raw?? c'est la commande a utiliser? Si oui pourrais-je avoir quelques precisions concernant son utilisation, car je ne la connait pas.
    J'avais oublié ça...
    C'est le mode brut ou binaire (pas d'interprétation).

    http://emmanuel-delahaye.developpez....s.htm#fichiers

  7. #7
    Membre averti

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 21
    Par défaut
    merci beaucoup

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

Discussions similaires

  1. Buffer E/S rapide pour fichier
    Par komput dans le forum Contribuez
    Réponses: 9
    Dernier message: 28/04/2008, 16h01
  2. compatibilité des réels avec pascal (pour fichier de record)
    Par jacquesberger dans le forum Langage
    Réponses: 2
    Dernier message: 12/08/2005, 19h58
  3. Réponses: 4
    Dernier message: 30/04/2005, 13h59
  4. [Kylix] Composant IBM pour fichiers XML
    Par Mister Nono dans le forum EDI
    Réponses: 1
    Dernier message: 29/09/2002, 20h28

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