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++Builder Discussion :

erreur d'ecriture dans un fichier


Sujet :

C++Builder

  1. #1
    fjp
    fjp est déconnecté
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 30
    Points : 28
    Points
    28
    Par défaut erreur d'ecriture dans un fichier
    bonjour à tous,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ofstream versfile;
    AnsiString lefile="c:\\la.txt";
    versfile.open(lefile.c_str());
    envoyer = AnsiString::StringOfChar(' ',130)+'\r'+'\n';
     
    versfile.write(envoyer.c_str(),132);
    verfile.close();
    comme resultat quanq j'ouvre le fichier avec XVI32.exe qui est un éditeur hexa
    je lis le resultat et j'ai un fichier de 130 espaces + '0D'+'OD'+'0A'
    ce qui represente en tout 133 caractéres avec un doublement du caractéres 'OD'

    merci à celui qui peut me renseigner comment forcer l'ecriture comme je veux soit 132 caractéres avec
    '0D'+"0A" à la fin

    fjp

  2. #2
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 275
    Points : 10 985
    Points
    10 985
    Par défaut
    Ce sujet avait parfaitement sa place dans le forum C++, voire même C.

    En mode non binaire, un "\n" est converti en une sequence qui varira d'un OS à l'autre (10,13 sous dos&cie (ou le contraire), 13 sous *nix, 10 sous mac -- ou une quelconque alternative du genre)
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  3. #3
    fjp
    fjp est déconnecté
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 30
    Points : 28
    Points
    28
    Par défaut
    bonjour
    phlip m'a répondu sur le forum c++(que je n'aurais pas du employer car multipostage excusé moi)

    Je crois que le '\n' donne lieu à la séquence '0D'+'0A' .
    La solution est alors de supprimer l'écriture du '\r' superflu.

    ce que j'ai appliqué et ça a marché
    ce qu'il faut savoir c'est que le compilateur au lieu d'écrire 131 caractéres
    en ecrit de lui meme 132 pour les vérifications de longueur de fichier lors de débogage c'est bon à savoir
    à plus

    fjp

  4. #4
    Membre chevronné
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Points : 2 187
    Points
    2 187
    Billets dans le blog
    1
    Par défaut
    Salut,
    tom mode d'ouverture est faux tu dois être en mode binaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     ofstream versfile;
      AnsiString envoyer;
      AnsiString lefile="c:\\la.txt";
      versfile.open(lefile.c_str(),ios::binary);
      envoyer = AnsiString::StringOfChar(' ',130)+"\r\n";
     
      versfile.write(envoyer.c_str(),132);
      versfile.close();
    cordialement
    vous trouverez mes tutoriels à l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les règles du forum

  5. #5
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 275
    Points : 10 985
    Points
    10 985
    Par défaut
    Citation Envoyé par fjp
    ce qu'il faut savoir c'est que le compilateur au lieu d'écrire 131 caractéres
    en ecrit de lui meme 132 pour les vérifications de longueur de fichier lors de débogage c'est bon à savoir
    Non. Tu es passé à côté de ma réponse qui n'était absolument pas une supposition.
    C'est dépendant de l'OS quand tu n'est pas en mode binaire. C'est tout.

    Rien à voir avec le débuggage, ou des codes de correction d'erreur, ou que sais-je encore. Sur 3 familles d'OS, 3 conventions différentes pour signaler les fins de lignes dans les fichiers texte.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

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

Discussions similaires

  1. erreur dans mon code ecriture dans un fichier
    Par baderahmed dans le forum ASP.NET
    Réponses: 4
    Dernier message: 11/10/2010, 17h55
  2. Script shell - écriture dans un fichier
    Par Leishmaniose dans le forum Linux
    Réponses: 6
    Dernier message: 13/12/2004, 22h48
  3. Probleme d'ecriture dans un fichier en mode Text
    Par bbozet dans le forum C++Builder
    Réponses: 3
    Dernier message: 14/01/2004, 13h46
  4. [LG]ecriture dans un fichier binaire
    Par jsaviola dans le forum Langage
    Réponses: 3
    Dernier message: 26/12/2003, 17h30
  5. Réponses: 2
    Dernier message: 26/09/2003, 14h51

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