Trouver l'indice d'un caractère spécial dans le string en C++
Je veux savoir si il existe une fonction standard dans visual stodio 2010, C++, qui prend un caractère, et renvoie l'index de l'informatique dans la chaîne de caractères spéciaux, si c'est exister dans la chaîne.
Tnx
constchar*s ="hello, weird + char.";
strchr(s,'+');//will return 13, which is '+' position within string
Si vous avez un std::string exemple:
std::string s ="hello, weird + char.";
strchr(s.c_str(),'+');//13!
Avec un std::string vous pouvez également une méthode pour trouver le caractère que vous recherchez.
cela ne fonctionne pas pour les std::wstring, pourriez-vous m'aider? Désolé, le problème était avec mon fichier de test, j'ai utilisé la méthode find. 'MyIndex= MyString.find('.');' Tnx
strchr() renvoie un pointeur sur le caractère dans la chaîne.
constchar*s ="hello, weird + char.";char*pc = strchr(s,'+');//returns a pointer to '+' in the stringint idx = pc - s;//idx 13, which is '+' position within string
Vous pouvez utiliser
std::strchr
.Si vous avez un C comme string:
Si vous avez un
std::string
exemple:Avec un
std::string
vous pouvez également une méthode pour trouver le caractère que vous recherchez.Désolé, le problème était avec mon fichier de test, j'ai utilisé la méthode find. 'MyIndex= MyString.find('.');' Tnx
OriginalL'auteur Pablo Santa Cruz
strchr
oustd::string::find
, selon le type de chaîne?et
std::string
sont juste des spécialisations de lastd::basic_string<>
, ils offrent les mêmes méthodes...OriginalL'auteur NPE
strchr() renvoie un pointeur sur le caractère dans la chaîne.
OriginalL'auteur DanS
OriginalL'auteur João Víctor