[Visual C++] remplacer un caractère dans un CString

remplacer un caractère dans un CString [Visual C++] - Programmation

Marsh Posté le 09-07-2001 à 13:58:51    

salut,
je voudrais dans un CSting remplacer un caractère par un autre, comme la fonction ereg_replace de php.
Possible ? ou il faut faire 10 trucs pour fair ça ?

Reply

Marsh Posté le 09-07-2001 à 13:58:51   

Reply

Marsh Posté le 09-07-2001 à 14:36:26    

si par exemple tu veux remplacer tous les '0' d'un objet mystring de la classe CString par ' ' tu fais :  
 
mystring.Replace('O',' ');
 
c tout !

Reply

Marsh Posté le 09-07-2001 à 14:46:19    

Merci, ta solution est plus simple que celle que j'ai faite :
 int position;
 CString before;
 CString after;
 
 position = REF_PROD.Find("#" );
 before  = REF_PROD.Left(position);
 position = REF_PROD.GetLength - (position+1);
 after  = REF_PROD.Right(position);
 REF_PROD.Format("%s%s", before, after);
 
Tout ça pour remplacer "#" par "" !!!

Reply

Marsh Posté le 09-07-2001 à 14:52:17    

tu te compliquait vraiment la vie
 
si tu veux pas changer toutes les occurences d'un caractère mais le 4ème caractère seulement par exemple, tu fais :  
 
mystring.Delete(3,1);
//on compte les caractères en partant de zéro
//donc pour le 4ème, c'est 3
mystring.Insert(3,'e')

Reply

Marsh Posté le 09-07-2001 à 17:12:16    

je dois maintenant faire la même opération mais en C !  
Please Help me, parce que moi et la manipulation de chaîne en C, c pas ça !!!

Reply

Marsh Posté le 09-07-2001 à 17:22:40    

eh c koi la difference entre une CString et une String ?
la CString est adaptee pour la manipulation des BD ?

Reply

Marsh Posté le 09-07-2001 à 17:45:11    

strstr() ou strtok()
 
char* myString = "string à remplacer";
char* replaceMe = "e";
char* replaceMeWith = "E";
 
char* tmp = myString;
while (tmp = strstr(tmp, replaceMe))
{
  *tmp = ReplaceMeWith[0];
}

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed