[C++] <string> tout bug !!!
KX
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
J'utilise des std::string, et peu importe ce que je fais, toutes les méthodes (à part c_str()) suppriment le contenu de ma chaîne.
C'est à dire que empty(), size(), length()... et toutes les autres suppriment la chaîne avant de faire le calcul, ce qui donne bien sûr des résultats aberrants !
Exemple de bug chez moi :
std::string s("bonjour");
bool b=s.empty(); // true !!!
J'arrive ponctuellement à contourner le problème, mais c'est moche !
std::string s("bonjour");
bool b=strlen(s.c_str())==0; // false...
Mais en plus d'être moche, je n'arrive pas à faire toujours de bidouille, en particulier avec un vector<std::string>, à chaque fois que je fais push_back, ça me rajoute une chaîne vide, et tout est faux après !
Je pense que ça vient d'une mauvaise configuration de Visual Studio 2008
Quelqu'un peut-il m'expliquer ce qui peux se passer ou sinon comment contourner le problème ?
Merci !
J'utilise des std::string, et peu importe ce que je fais, toutes les méthodes (à part c_str()) suppriment le contenu de ma chaîne.
C'est à dire que empty(), size(), length()... et toutes les autres suppriment la chaîne avant de faire le calcul, ce qui donne bien sûr des résultats aberrants !
Exemple de bug chez moi :
std::string s("bonjour");
bool b=s.empty(); // true !!!
J'arrive ponctuellement à contourner le problème, mais c'est moche !
std::string s("bonjour");
bool b=strlen(s.c_str())==0; // false...
Mais en plus d'être moche, je n'arrive pas à faire toujours de bidouille, en particulier avec un vector<std::string>, à chaque fois que je fais push_back, ça me rajoute une chaîne vide, et tout est faux après !
Je pense que ça vient d'une mauvaise configuration de Visual Studio 2008
Quelqu'un peut-il m'expliquer ce qui peux se passer ou sinon comment contourner le problème ?
Merci !
A voir également:
- [C++] <string> tout bug !!!
- Bug chromecast - Guide
- Iptv bug forum ✓ - Forum Box et Streaming vidéo
- Cannot access offset of type string on string - Forum PHP
- Bug localisation snap ✓ - Forum Snapchat
- Savoir qui regarde notre localisation ? - Forum Snapchat
La manipulation de std::string en C++ est ainsi bien plus facile (du moins en théorie) que celle des char* en C et surtout plus sûre car il n'y a pas d'allocation de mémoire à faire manuellement,