std::wstring contre std::string : quand utiliser Unicode et les chaînes multi-octets en C++ ?
Bonjour ! J'ai récemment commencé à apprendre le C++ et j'ai rencontré un problème de choix entre std::string et std::wstring. Apparemment, les deux types sont conçus pour travailler avec du texte, mais je ne comprends pas la différence et quand utiliser quoi.
Voici un exemple simple : j'écris un programme qui doit fonctionner avec des caractères russes :
```cpp
#include
#include
int main() {
std::string str = "Привет, мир!";
std::wstring wstr = L"Привет, мир!";
std::cout << "string length: " << str.length() << std::endl;
std::wcout << L"wstring length: " << wstr.length() << std::endl;
// J'essaie d'afficher le caractère par index
std::cout << "Первый символ string: " << str[0] << std::endl;
std::wcout << L"Первый символ wstring: " << wstr[0] << std::endl;
}
```
La sortie me trouble : la longueur de std::string s'avère plus grande que le nombre de caractères dans la chaîne, tandis que wstring se comporte différemment. J'ai aussi entendu dire qu'il y a des problèmes avec Unicode, les encodages et les plateformes. Veuillez m'expliquer, s'il vous plaît.
No answers yet.
Connectez-vous pour laisser une réponse
Blogs
Top des erreurs des développeurs PHP débutants — partie 4 : Gestion des données