wchar_t in string umwandeln
-
Hallo
Ich hab hier folgende Funktion:
void printTokens (vector <Token*> &t) { for (integer i = 0; i < t.size(); i++) { wchar_t *pwe = t[i]->symbol; wprintf(t[i]->symbol); } }ich möchte den wchar_t *pwe in einem String gespeichert haben. Hat jemand eine Ahnung?
-
Hallo
Verwende std::wstring der nimmt wchar_t* direkt auf.
Wenn du einen std::string haben willst must du dir erstmal gedanken machen wie du Unicode in Ascii umwandeln willst. Gebräuchlich ist dafür UTF8. Das must du dir aber entweder nach Beschreibung selber implementieren oder durch eine externe Library aus dem Netz einbinden.bis bald
akari
-
Hi,
also diese Funktion ist von einem Parser. Ich möchte jeden einzelnen Token rausholen und mit einem String vergleichen. Allerdings kann ich kein wchar_t mit einem String vergleichen, darum wollte ich das wchar_t in string umwandeln, damit ich später diesen String mit einem von mir vorgegebenen Schlagwort vergleichen kann also z.B.
if(wort == "#include") { cout << "test" << endl; }wobei "wort" die von wchar_t in String umgewandelte Variable ist
-
Hallo
Es gibt natürlich auch C-Funktionen für Widechars. Da fragst du aber besser im AnsiC-Forum nach. In C++ würde man das zum Beispiel so machen
#include <string> ... wchar_t* buffer = ...; std::wstring wort = buffer; if(wort == L"#include") { cout << "test" << endl; }bis bald
akari