Bonjour,
Je cherche a modifier un caractere dans une variable,
Je m'explique si la variable contient : l-ol-
Je voudrais remplacer tout les - par tiret, par exemple.
Pouvez vous m'aider s'il vous plait ? merci d'avance.![]()
Bonjour,
Je cherche a modifier un caractere dans une variable,
Je m'explique si la variable contient : l-ol-
Je voudrais remplacer tout les - par tiret, par exemple.
Pouvez vous m'aider s'il vous plait ? merci d'avance.![]()
Si tu cherche à modifier le nom d'une variable à l'éxécution, c'est impossible.
Si tu cherche à modifier le nom de la variable dans tout ton programme, ton EDI/editeur de texte doit te fournir un commande du genre "Find & Replace" ou des outils de refactorisation plus évolués.
Si tu cherche à modifier la valeur d'une variable de type std::string, va voir du coté de std::string::replace et std::string::find
Si tu cherche à modifier la valeur d'une variable de type char*, utilise plutot un std::string
Bonsoir, merci de ta reponse j'ai trouver enfin presque...,
voici ce que j'ai trouver mais le probleme c'est qu'il remplace bien les - mais par 5 et non %055 serait tu d'ou vient le probleme s'il te plait ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 int EnleverExtension(char *lol[]) { int i; for (i=0 ; lol[i]!=0 ; i++) { if ( lol[i]=='-' ) lol[i] = "%055"; } return lol; }
C'est dangereux ce que tu fais, tu veux remplacer une seule cellule de ton tableau de caractère par plusieurs caractères. Dans le meilleur des cas effectivement il remplace un seul caractère, dans le pire des cas comme il y a trop de caractères il va écrire n'importe ou en mémoire. Il te faut donc redimensionner ta chaîne de caractères car remplacer une lettre par plusieurs revient à agrandir ta chaine de caractère .
A ta place je passerai par un string, qui te permet de localiser un caractère spécifique, de le supprimer et d'insérer une chaine de caractère à la place.
Salut,
Le code que tu nous présente est du code C buggé.
En C++, il faut utiliser std::string et les algorithmes de la STL :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 std::string EnleverExtension(std::string param_) { std::replace(param_.begin(),param_.end(),'-','?'); return param_; }
Ressources proposées par 3DArchi - Les fonctions virtuelles en C++ - Cours et tutoriels C++ - FAQ C++ - Forum C++.
Partager