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 :

ecrire a la fin d'une ligne d'un fichier


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �clair�
    Avatar de warubi
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    399
    D�tails du profil
    Informations personnelles :
    �ge : 33
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 399
    Par d�faut ecrire a la fin d'une ligne d'un fichier
    Bonjour ! Je crois que tout est dans la question. Merci d'avance !

  2. #2
    Expert confirm�
    Avatar de Luc Hermitte
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2003
    Messages
    5 296
    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 296
    Par d�faut
    Il faut passer par un fichier interm�diaire
    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
    Membre �clair� Avatar de Rodrigue
    Inscrit en
    Ao�t 2002
    Messages
    487
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2002
    Messages : 487
    Par d�faut
    Je ne sais pas si j'ai mal compris la question (pourquoi devoir passer par un fichier interm�diaire!?).
    Tu ouvres le fichier avec un std::ifstream, de l� tu te d�places � la fin du fichier avec la m�thode seekp(0,ios_base::end) (cf. http://www.cplusplus.com/reference/i...am/seekp.html), puis tu �cris avec l'op�rateur <<.

    Bonne journ�e!

  4. #4
    R�dacteur
    Avatar de Laurent Gomila
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par d�faut
    pourquoi devoir passer par un fichier interm�diaire!?
    Parce que si on fait comme tu le sugg�res, on va �craser les donn�es qui se trouvent apr�s la position d'�criture. Pour ins�rer du texte il faut bien passer par un fichier ou tout du moins un buffer temporaire.

  5. #5
    Membre �clair� Avatar de Rodrigue
    Inscrit en
    Ao�t 2002
    Messages
    487
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2002
    Messages : 487
    Par d�faut
    Je ne m'en �tais jamais rendu compte lol
    Ce n'est quand m�me pas tr�s bien fait (ouhla je sens que je vais me faire assassiner l� )
    Quelqu'un pourrait m'expliquer pourquoi la fin du fichier est �cras�e?
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    std::fstream exemple;
    exemple.open("C:\\testfile.txt", std::ios_base::out | std::ios_base::trunc);
    exemple << "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    exemple.close();
     
    std::fstream file;
    file.open("C:\\testfile.txt", std::ios_base::in | std::ios_base::out);
    file.seekg(std::ios_base::end);
    file << "\n123456789\n";
     
    file.close();
    avec "ABCDEFGHIJKLMNOPQRSTUVWXYZ" �cris dans le fichier testfile.txt, j'obtiens apr�s ex�cution:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    AB
    123456789
    PQRSTUVWXYZ
    \n
    Pourquoi cela commence � partir du troisi�me caract�re (c qui est remplac� par \n)?

    Lorsque je met file.seekp(0,std::ios_base::end), l� �a commence bien � partir de Z et �a remplit dans l'ordre inverse...

  6. #6
    R�dacteur
    Avatar de Laurent Gomila
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par d�faut
    seekg c'est la position de lecture, seekp celle d'�criture.

Discussions similaires

  1. [VBS]Ecrire � la fin d'une ligne
    Par Mammy Potter dans le forum VBScript
    R�ponses: 5
    Dernier message: 14/01/2013, 13h56
  2. script shell ecrire � la fin d'une ligne d'un fichier
    Par patricx dans le forum Shell et commandes GNU
    R�ponses: 2
    Dernier message: 16/02/2012, 23h11
  3. Ecrire a la fin d'une ligne d'un fichier .txt
    Par Vince_14 dans le forum LabVIEW
    R�ponses: 5
    Dernier message: 02/05/2011, 19h45
  4. R�ponses: 8
    Dernier message: 07/08/2007, 17h51
  5. Comment d�tecter la fin d'une ligne en C ?
    Par radouane_as dans le forum D�buter
    R�ponses: 10
    Dernier message: 08/06/2007, 18h13

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