Je possede la procedure qui ne marche que pour des lignes lues a parti d'un fichier
Je voudrais creer une fonction de genre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); }qui remplace un caractere par un autre, mais dans des membres d'une structure specifies; au lieu de le faire dans chaque ligne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part listedelement *replacechar(strucvar *s, char c, char cr)
J'ai cette structure:
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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 typedef struct { string elem1, elem2; } strucvar; main () { strucvar liste;La fonction qui ne marche pas que j'utilise:
Code : Sélectionner tout - Visualiser dans une fenêtre à part replacechar(liste.elem1,':',' ')
ne se compile pas et l'erreur est find non-member of structure, ou d'autres manipulations me donne "of non-class type"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); }
comment ecrire la fonction?
Merci
Partager