Créer une fonction pour remplacer des caractères
Je possede la procedure qui ne marche que pour des lignes lues a parti d'un fichier
Code:
1 2 3 4 5 6 7
| /* remplace ':' par une espace dans chaque ligne lue */
for (i = 0; i < lines.size(); i++) {
int position = lines[i].find(":");
while (position != string::npos) {
lines[i].replace(position,1," ");
position =lines[i].find(":",position+1);
} |
Je voudrais creer une fonction de genre
Code:
listedelement *replacechar(strucvar *s, char c, char cr)
qui remplace un caractere par un autre, mais dans des membres d'une structure specifies; au lieu de le faire dans chaque ligne.
J'ai cette structure:
Code:
1 2 3 4 5 6
| typedef struct {
string elem1, elem2;
} strucvar;
main () {
strucvar liste; |
je voudrais appeler la fonction replacechar char depuis mon code pour remplacer par exemple l'element 1 (liste.elem1), mais je fais erreur qqpart sans savoir comment trouver la solution. J'appelle la fonction avec
Code:
replacechar(liste.elem1,':',' ')
La fonction qui ne marche pas que j'utilise:
Code:
1 2 3 4 5 6
| listedelement *replacechar(strucvar *s, char c, char cr) {
int position = s.find(":");
while (position != string::npos) {
s.replace(position,1," ");
position =s.find(":",position+1);
} |
ne se compile pas et l'erreur est find non-member of structure, ou d'autres manipulations me donne "of non-class type"
comment ecrire la fonction?
Merci