Code pour remplacer du texte par un autre. - C++ - Programmation
Marsh Posté le 23-06-2006 à 16:47:36
Ben je pense qu'il faudrait utiliser STL :
- tu met tout dans une string
- tu fait find() pour trouver où il y a "pommes"
- tu l'efface avec erase()
- et puis tu fait un insert() pour mettre "légumes"
et puis c'est bon
Marsh Posté le 23-06-2006 à 16:56:16
plutot replace() a la place de erase() et insert(), c'est plus simple
Marsh Posté le 29-06-2006 à 10:14:57
Est si t’es un vrais (un vrais je sais pas quoi :| ).
Tu fais :
Code :
|
Marsh Posté le 01-07-2006 à 11:45:38
Lereveur a écrit : Est si tes un vrais (un vrais je sais pas quoi :| ).
|
Quelle horreur !!!
Même pour un débutant...
Ca se fait en 7 lignes.
Marsh Posté le 02-07-2006 à 21:43:07
Donc si je met ça j'aurai mon programme :
Code :
|
C'est bien ça ?
Marsh Posté le 03-07-2006 à 08:01:24
oula non...
déjà faut pas mettre la déclaration de strReplace() dans main()...
tu la met en dehors de main et ensuite tu l'appelle...
et puis il vaut mieux pas faire comme ça. Utilise STL : les String, la methode find() et replace()
Marsh Posté le 03-07-2006 à 13:17:53
Pourrais-tu me faire un exmeple stp, ça fait un bail que je ne code plus en C++
Marsh Posté le 03-07-2006 à 13:58:37
et voilà en 4 lignes...
Code :
|
ps : si quelqu'un passe par là je me demande est-ce vraiment mauvais d'utiliser toujours endl a la place de "\n". J'ai lu que endl faisait a la fois un "\n" et un flush() et qu'a trop l'utiliser on en perdait l'efficacitée d'utiliser les buffers... Merci
Marsh Posté le 03-07-2006 à 14:24:40
En rajoutant une pause à la fin (si on veux voir le texte c'est mieux ) ça donnerai donc ça :
Code :
|
Et ça marche.
Le mieux serai même qu'il aille chercher mon fichier texte (dans lequel j'aurai placé mon 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.
Cela se présenterai donc comme ceci :
- J'ouvre le fichier en lecture+écriture (avec un fopen(); )
- Je charge son contenu en mémoire (avec un fgetc(); )
- Je change ce que je veux dans la mémoire (avec un Boucles, tableaux, conditions... )
- Je réécris le fichier (avec un fputc(); )
C'est ça ?
Marsh Posté le 03-07-2006 à 15:01:41
je comprend pas bien pourquoi tu dis "je laisse ouvert le fichier" a la fin... mais sinon c'est ça.
il y a plus qu'a...
Marsh Posté le 03-07-2006 à 15:05:02
EDIT
Marsh Posté le 03-07-2006 à 17:22:54
mmm ...
Code :
|
Ne peut pas marcher car "légumes" à plus de lettres que "pommes".
Il faut donc mettre
Code :
|
(ça évite d'utiliser les strings)
Marsh Posté le 03-07-2006 à 17:35:34
Donc ça donnerai ça :
Code :
|
Mais ce n'est toujours pas un code me permettant de modifier un fichier texte...
Marsh Posté le 03-07-2006 à 22:09:13
0) Utilise std::string et pas des char* et autres fonctions associées (str* & co)
1) Tu ouvres ton fichier avec std::ifstream
2) Tu copies son contenu dans un std::string
3) Tu utilises les fonctions membres find et replace comme ça a été fait plus haut
Va faire un tour du côté des bibliolinks C++ de ce forum.
N'hésite pas à utiliser google !
Marsh Posté le 23-06-2006 à 16:29:49
Bonjour à tous !!
J'ai une petite question : quel est la fonction en C++ permettant de remplacer un texte par un autre ?
Exemple : La phrase 1 est la phrase d'origne, la phrase 2 est celle une fois la fonction en question utilisée :
Phrase 1 : j'aime les pommes
Phrase 2 : j'aime les légumes
Dans notre cas, j'ai remplacé "pommes" par "légumes". En application de la fonction, quel code cela donnerait-il ?
Merci d'avance !!
---------------
Si je vous ai aidé, le remerciement le plus simple serait de faire un tour sur mon site web sur les loisirs : http://lvdg.c.la ou sur mon tout nouveau site sur les mangas : www.mangakage.com :)