Inserer du texte dans un fichier texte - C++ - Programmation
Marsh Posté le 26-03-2003 à 10:52:10
en C++, je ne sais plus
en C "pur": fopen, fseek, fprintf, fclose
Marsh Posté le 26-03-2003 à 11:15:51
western a écrit : en C++, je ne sais plus |
Perdu , ca efface ce qu'il y a dans le fichier...
Merci quand meme.
Marsh Posté le 26-03-2003 à 11:40:38
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.
Marsh Posté le 26-03-2003 à 11:52:18
Code :
|
Utilise les fonctions seekp pour te déplacer dans le fichier
Marsh Posté le 26-03-2003 à 11:54:59
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 ...
Marsh Posté le 26-03-2003 à 12:43:56
western a écrit : |
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.
Marsh Posté le 27-03-2003 à 23:55:01
Elrond a écrit : |
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
Marsh Posté le 28-03-2003 à 07:53:12
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
Marsh Posté le 26-03-2003 à 10:42:06
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