2010-07-14 9 views
3

J'ai un code C++ qui a beaucoup de fonctions qui reçoit ostream comme argument. Je veux maintenant manipuler le contenu de cette ostream. Par exemple, je veux remplacer toute occurrence de certains mots par d'autres mots.comment manipuler le contenu ostream

Le paramètre réel de ces fonctions est toujours ofstream. Y at-il un moyen de changer la création de ce ofstream, de telle sorte qu'il va mettre une telle fonction de manipulation?

merci.

Répondre

1

Il semble que vous devriez utiliser un conteneur à accès aléatoire, par ex. std::basic_string, au lieu des flux. Un flux n'est pas un conteneur, mais un récepteur ou une source de données à sens unique: une fois que vous avez écrit dessus, vous ne pouvez plus accéder au contenu. Il existe des exceptions (par exemple, les flux de chaînes), mais ils fournissent une interface de diffusion vers un conteneur, contrairement aux flux de fichiers.