Ne courez pas le trouver par deux fois! Stocker la position trouvée dans la condition, et l'utiliser dans le corps: while (size_type pos = str.trouver des(...)) { str.manipuler(pos,...); }; Hmmm...ça laisse encore à désirer. Chaque itération de la boucle réanalyse les bits de sécurité déclarée par la dernière passe. Définir pos en dehors de la boucle et de le rendre persistant: size_type pos = 0; while (pos = str.find("..",pos) )... C'est un dispositif d'effacement et non d'un remplacement - la question posée était de savoir comment remplacer les "\r\n"; ils peuvent avoir besoin de le remplacer par un autre personnage.
ne pas réinventer la roue, de Dynamiser la Chaîne d'Algorithmes est un en-tête uniquement de la bibliothèque et je suis raisonnablement certain que ça fonctionne partout. Si vous pensez que l'on a accepté le code de réponse est meilleur, parce que sa été fourni et que vous n'avez pas besoin de chercher dans les docs, ici.
De la première utilisation de find (). "\r\n", puis utiliser le remplacer() pour mettre quelque chose d'autre.
Jetez un oeil à la référence, il a quelques exemples:
Utiliser ceci :
forme plus efficace est :
Hmmm...ça laisse encore à désirer. Chaque itération de la boucle réanalyse les bits de sécurité déclarée par la dernière passe. Définir pos en dehors de la boucle et de le rendre persistant: size_type pos = 0; while (pos = str.find("..",pos) )...
C'est un dispositif d'effacement et non d'un remplacement - la question posée était de savoir comment remplacer les "\r\n"; ils peuvent avoir besoin de le remplacer par un autre personnage.
OriginalL'auteur lsalamon
ne pas réinventer la roue, de Dynamiser la Chaîne d'Algorithmes est un en-tête uniquement de la bibliothèque et je suis raisonnablement certain que ça fonctionne partout. Si vous pensez que l'on a accepté le code de réponse est meilleur, parce que sa été fourni et que vous n'avez pas besoin de chercher dans les docs, ici.
OriginalL'auteur Hippiehunter
Voir Stimuler La Chaîne D'Algorithmes bibliothèque.
OriginalL'auteur Nemanja Trifunovic
De la première utilisation de find (). "\r\n", puis utiliser le remplacer() pour mettre quelque chose d'autre.
Jetez un oeil à la référence, il a quelques exemples:
http://www.cplusplus.com/reference/string/string/find.html
http://www.cplusplus.com/reference/string/string/replace.html
OriginalL'auteur Joao da Silva