tobias86 Geschrieben 4. Mai 2008 Geschrieben 4. Mai 2008 hallo. ich hab jetzt schon einige zeit gesucht, aber irgendwie immer nur sachen gefunden, die bei mir nicht so recht funktioniert haben. folgendes problem: ich will einen String in ein wchar_t umwandeln und das so einfach wie möglich. meine c++ kenntnisse halten sich leider sehr in grenzen, deswegen wäre ich euch sehr dankbar, wenn ihr mir mit einem kompletten codebeispiel (incl. aller include anweisungen etc.) helfen könntet. mfg Tobias Zitieren
Klotzkopp Geschrieben 5. Mai 2008 Geschrieben 5. Mai 2008 "String" ist etwas unspezifisch. Was genau hast du denn da? Welcher Datentyp? Welche Codierung? Zitieren
tobias86 Geschrieben 5. Mai 2008 Autor Geschrieben 5. Mai 2008 also, das ganze kommt ursprünglich aus einer java datei, ist also ein jstring. umwandeln kann ich ihn in ein const char *. und daraus muss ich nun ein wchar_t machen..... Zitieren
TDM Geschrieben 6. Mai 2008 Geschrieben 6. Mai 2008 How to: Convert Between Various String Types Zitieren
Klotzkopp Geschrieben 6. Mai 2008 Geschrieben 6. Mai 2008 umwandeln kann ich ihn in ein const char *. und daraus muss ich nun ein wchar_t machen.....Damit hätten wir den Typ. Und wie ist der String codiert? Reines ASCII? UTF-8? Zitieren
TDM Geschrieben 6. Mai 2008 Geschrieben 6. Mai 2008 JNIEnv::GetStringUTFChars const jbyte* GetStringUTFChars(JNIEnv *env, jstring string, jboolean *isCopy); Returns a pointer to an array of UTF-8 characters of the string. This array is valid until it is released by ReleaseStringUTFChars(). If isCopy is not NULL, then *isCopy is set to JNI_TRUE if a copy is made; or it is set to JNI_FALSE if no copy is made. Alternativ GetStringChars(), dann hat er es gleich als Unicode. jbyte dürfte simultan zu char sein, von daher dürfte das nichtmal nen Cast benötigen. Und wie man char zu wchar_t macht steht ja oben im Link. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.