Avatar ·

std::wstring vs std::string: Wann sollte man Unicode und Multibyte-Strings in C++ verwenden?

Hallo! Ich habe vor kurzem angefangen, C++ zu lernen, und bin auf das Problem der Wahl zwischen std::string und std::wstring gestoßen. Anscheinend sind beide Typen für die Arbeit mit Text gedacht, aber ich verstehe nicht, worin der Unterschied besteht und wann man was verwenden sollte. Hier ist ein einfaches Beispiel: Ich schreibe ein Programm, das mit russischen Zeichen arbeiten soll: ```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; // Versuche, ein Zeichen per Index auszugeben std::cout << "Erstes Zeichen string: " << str[0] << std::endl; std::wcout << L"Erstes Zeichen wstring: " << wstr[0] << std::endl; } ``` Die Ausgabe verwirrt mich.