Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
617 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Inserer du texte dans un fichier texte

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Inserer du texte dans un fichier texte

n°343540
elrond
Posté le 26-03-2003 à 10:42:06  profilanswer
 

Bonjour,
Voila, je voudrais inserer du texte au milieu d'un fichier, mais sans effacer ce qu'il y a apres...
J'utilise une classe fstream, mais si ya mieux, je peux toujours changer ;) ...
 
Enfin sinon je serai obliger d'utiliser la methode bourrin : re-creer un fichier :(
 
Merci d'avance :)

mood
Publicité
Posté le 26-03-2003 à 10:42:06  profilanswer
 

n°343557
western
AJMM
Posté le 26-03-2003 à 10:52:10  profilanswer
 

en C++, je ne sais plus
en C "pur": fopen, fseek, fprintf, fclose

n°343599
elrond
Posté le 26-03-2003 à 11:15:51  profilanswer
 

western a écrit :

en C++, je ne sais plus
en C "pur": fopen, fseek, fprintf, fclose


 
Perdu :sarcastic:, ca efface ce qu'il y a dans le fichier...
 
Merci quand meme.

n°343658
nico168
Posté le 26-03-2003 à 11:40:38  profilanswer
 

a mon avis tu ne peux pas, tu es obligé de passer par un autre fichier, tu y recopie le debut, ce que tu voullais inserer, et la fin.

n°343692
gloop
Posté le 26-03-2003 à 11:52:18  profilanswer
 

Code :
  1. std::fstream of ("fichier", std::ios::in | std::ios::out);
  2. if (of.is_open ())
  3. {
  4.    of.seekp (pos, std::ios::beg); // se placer à la position pos
  5.    of << "blabla";
  6.    /*
  7.     * Ecrire plein d'autres trucs
  8.     */
  9.   of.close ();
  10. }
  11. else
  12. // erreur d'ouverture

 
 
Utilise les fonctions seekp pour te déplacer dans le fichier

n°343695
western
AJMM
Posté le 26-03-2003 à 11:54:59  profilanswer
 

nico168 a écrit :

a mon avis tu ne peux pas, tu es obligé de passer par un autre fichier, tu y recopie le debut, ce que tu voullais inserer, et la fin.


ça me revient: normalement, les fichiers sont gérés de façon sequenciel, c'est-à-dire que tu ecrase ...
il y a un autre façon: des fichiers à accès aléatoire où tu peux modifier ...

n°343728
Konar
Posté le 26-03-2003 à 12:43:56  profilanswer
 

western a écrit :


ça me revient: normalement, les fichiers sont gérés de façon sequenciel, c'est-à-dire que tu ecrase ...
il y a un autre façon: des fichiers à accès aléatoire où tu peux modifier ...


 
essayes man MapViewOfFile() dans la section "File Mapping functions".
Le principe c que ca te sort un void* correspondant a ton fichier, et en spécifiant une taille de mapping plus grand que le fichier original ca va agrandir ton fichier. ensuite avec ton void* tu inseres sans pb des trucs en plein milieu (y a plein de fct pour ca, surtout si c du texte : tu mets tout ca dans une string et tu fais des insert basiquement). Et ensuite surtout tu appelles UnMapViewOfFile() et ca va te recréer tout seul le fichier correspondant a ton void*.
 
voila.
vive le Win32.

n°346068
qxn
Posté le 27-03-2003 à 23:55:01  profilanswer
 

Elrond a écrit :


 
Perdu :sarcastic:, ca efface ce qu'il y a dans le fichier...
 
Merci quand meme.


 
hum non pas forcement ...
 
sinon un truc simple tu ouvre ton fichier en r+ tu met tout le contenu dans un tableau de chat et tu place ce que tu veux avec les fonction strcmp ou strstr pour trouver ce que tu veux et tu rebalance tout dans le fichier apres avoir tout travaillr en memoire

n°346118
elrond
Posté le 28-03-2003 à 07:53:12  profilanswer
 

Oui pourquoi pas...
Mais pour l'utilisation que je vais en faire, je vais initaliser
des lignes des espaces à la fin... et j'agrandirai le fichier que quand une ligne sera trop courte... (surement par ta méthode d'ailleur)
 
Merci


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Inserer du texte dans un fichier texte

 

Sujets relatifs
[C++] Lire un fichierRecherche dynamique dans zone de texte
comment faire defiler un texte[résolu] ouvrir un fichier au travers d'HTTP
inserer une scrollbar dans une cellule?Instructions permettant de jouer avec du texte ?
Comment inserer VB6 dans frontpage ?Insérer le contenu d'un fichier texte dans une feuille HTML
[HTML] Comment pour inserer un texte a partir d'un fichier[ PHP / Oracle ] Insérer les données d'un fichier texte
Plus de sujets relatifs à : Inserer du texte dans un fichier texte


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR