Se connecter / S'enregistrer
Votre question

[C++]Modification d'un fichier txt

Tags :
  • string
  • Programmation
Dernière réponse : dans Programmation
3 Juillet 2006 14:31:12

Bonjour à tous !!

J'ai une requête à vous présenter en ce qui concerne un code C++.

Je voudrai faire un soft qui aille chercher un fichier texte (dans lequel j'aurai placé un texte à modifier au préalable) - nous appellerons le fichier texte "texte.txt" que nous metterons à la racine du C - puis qu'il en analyse le contenu, et qu'il remplace les mots que l'on a demandé de remplacer directement dans notre fichier "texte.txt"

J'ai commencé un code, le voila :
  1. #include<iostream>
  2. #include<string>
  3.  
  4. int main(int argc, char **argv)
  5. {
  6. std::string s("j'aime pas les pommes" );
  7. int n = s.find("pommes" );
  8. s.replace(n, 6, "fruits" );
  9.  
  10. std::cout<<s<<std::endl;
  11. system("PAUSE" );
  12. return 0;
  13. }


Ce code permet simplement de faire le chagement (dans ce code, le soft change le mot "pommes" par "fruits") mais je ne suis pas certain qu'il faille utiliser cela pour ce que je veux faire.

Merci d'avance !!

Autres pages sur : modification fichier txt

3 Juillet 2006 14:35:12

Je pense que tu peux faire comme ceci:
Tu ouvres ton fichier en lecture+écriture, tu charge son contenu en mémoire, tu change ce que tu veux dans la mémoire, tu réécris le fichier, tu fermes le fichier.
C'est pas très performant mais ca doit marcher.
C'est quoi au juste que tu veux savoir?
3 Juillet 2006 14:44:01

Et bien à vrai dire, j'aimerais que quelqu'un me fasse le code car cela fait très lontemps que je ne touvhe plus au C++ et lorsque je codais dans ce language, je n'avais que les bases donc...
Contenus similaires
3 Juillet 2006 14:48:08

Effectivement, ce que tu as dis me parrai pas mal du tout à savoir :

- J'ouvre le fichier en lecture+écriture
- Je charge son contenu en mémoire (grace à des variables)
- Je change ce que je veux dans la mémoire
- Je réécris le fichier
- Je laisse ouvert le fichier

Saurais-tu faire ça ?
3 Juillet 2006 15:01:21

Citation :
Saurais-tu faire ça ?

Bien sur, mais bon si c'est moi qui le fait ça n'a aucun interêt.

Citation :
- J'ouvre le fichier en lecture+écriture

fopen();

Citation :
- Je charge son contenu en mémoire (grace à des variables)

fgetc();

Citation :
- Je change ce que je veux dans la mémoire

Boucles, tableaux, conditions... Si tu arrives sur une partie à modifier, tu déplaces ce qui suit quelques cases plus loin ou plus près selon la différence de taille, puis tu modifie la partie a modifier.

Citation :
- Je réécris le fichier

fputc();

Citation :
- Je laisse ouvert le fichier

Non justement il faut le refermer après, c'est plus propre.
fclose();

Donc il y a surement d'autres méthodes, et peut être même que la mienne ne marche pas (personne n'est infaillible, et je ne l'ai jamais testée), mais ca peut être un début.
Il me semblait en tout cas qu'il existait déja des outils pour faire ce genre de chose (sous linux tout du moins: awk).
3 Juillet 2006 17:40:17

Petite modif de mon premier code pour éviter les strings :
  1. #include<iostream>
  2. #include<string>
  3.  
  4. int main(int argc, char **argv)
  5. {
  6. char texte [255];
  7. strcpy(texte,"j'aime les pommes" );
  8. strReplace(texte,"pommes","légumes" );
  9.  
  10. std::cout<<s<<std::endl;
  11. system("PAUSE" );
  12. return 0;
  13. }
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS