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 :

Enregistrer un string dans un fichier


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2004
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 83
    Par défaut Enregistrer un string dans un fichier
    Bonjour à tous,

    Je souhaite sauvegarder un string qui contient plusieurs CR (carriage return) dans un fichier .txt. Mais, lors de ma sauvegarde, les CR se transforment en(CR CR LF), cela donne l'équivalant de 2 sauts de ligne dans mon fichier.

    Voici mon code qui permet la sauvegarde

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    char *path =(char *) malloc(100); 
    strcpy(path, path_out.c_str());
    ofstream file(path, ios::out);
    if (file.is_open())
        {
    		file << mastring<< endl;
    		file.close();
    		cout<<"\nVisualisation : "<<mastring<<"\n"<<endl;
        }
    Le résultat est que pour cette affichage dans ma fenetre de commande (simple saut de ligne après les derniers a, b et c):
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
    ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc

    mon fichier sauvegardé affiche :
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

    bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb

    cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc

    donc il y a 2 CR après chaque chaine de lettres (vérifié avec notepad++)
    J'ai bien vérifié lors de l'execution avec la console, l'affichage affiche un simple saut de lignes après chaque séries de lettres.

    J'espere que j'ai été assez clair et que quelqu'un saura m'aider.

    Merci

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    717
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 717
    Par défaut
    C'est parce que la chaine doit déjà contenir des CR. Or l'écriture en mode texte rajoute des CR sur certaines plateformes.

    Deux solutions :
    - Faire en sorte que la chaine ne contienne pas de CR, que des LF (d'où vient cette chaine ?)
    - Ouvrir le fichier en binaire, pour que ne soit pas rajouté de CR

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2004
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 83
    Par défaut
    Salut Sylvain, et merci pour ta réponse rapide.

    J'ai une question sur l'ouverture en binaire : est-ce que cela va annulé tous les CR donc mon texte n'aura-t-il plus aucun saut de lignes ?

    Merci

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2004
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 83
    Par défaut
    Citation Envoyé par Chop_chop
    Salut Sylvain, et merci pour ta réponse rapide.

    J'ai une question sur l'ouverture en binaire : est-ce que cela va annulé tous les CR donc mon texte n'aura-t-il plus aucun saut de lignes ?

    Merci
    Ok c'est reglé,

    au lieu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ofstream file(path, ios::out);
    j'ai mi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ofstream file(path, ios::out|ios::binary);

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

Discussions similaires

  1. Double JFrame et enregistrer des String dans un fichier .txt
    Par Onelove dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 29/08/2014, 11h46
  2. Enregistrer un string dans un fichier txt
    Par florent64 dans le forum MATLAB
    Réponses: 4
    Dernier message: 08/06/2007, 21h27
  3. Réponses: 7
    Dernier message: 01/09/2006, 14h19
  4. Comment enregistrer une string dans un fichier
    Par Dnx dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 23/09/2005, 14h52
  5. Réponses: 12
    Dernier message: 27/06/2005, 19h06

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