iconv.dll bzw. iconv.lib verwenden. Verständnisprobleme
-
Hallo,
ich muss strings konvertieren, damit ich dies dann in xml rausschreiben kann.
Ich benutze dafür xml2 von Gnome. Ich habe ein Program (CAD) das in chinesisch gestartet wird. Aus diesem Programm lese ich parameter aus. Diese werden dann in ein XML file rausgeschrieben. Das xml wird dann verändert und ich bekomme es nicht in UTF-8 zurück sondern in ISO..... irgendwas. Dies muss ich natürlich nach EUC-CR konvertieren. Dazu muss ich die iconv.dll verwenden , vieleicht auch die lib. Ich habe es mit der lib probiert und es hat sich auch compilieren und linken lassen.
So habe ich es gemacht zum testen, ob es überhaupt funktioniert.------------------------------------------------------------------------
#include "stdafx.h" #include "iconv.h" #include <windows.h> #define MY_ENCODING_ISO_8859_1 "ISO-8859-1" #define MY_ENCODING_EUC_KR "EUC-KR" #define MY_ENCODING_EUC_CN "EUC-CN" #define MY_ENCODING_UTF8 "UTF-8" int main(int argc, char* argv[]) { char wert[512]; iconv_t cd; char stmrcd[512]; const char *ibuf; char *obuf; size_t ilen, olen; size_t nconv; cd = iconv_open( MY_ENCODING_UTF8, MY_ENCODING_ISO_8859_1 ); obuf = &stmrcd[0]; ilen = sprintf(wert, "%s\0", "jksdjkhdjhsdf"); olen = ilen; ibuf = &wert[0]; nconv = iconv (cd, &ibuf, &ilen, &obuf, &olen); return 0; }
Irgendwie funktioiert das nicht richtig. Nach der Funktion iconv ist olen 0 und obuf leer.
Könnt ihr mir da helfen? Wäre super....Gruß
//Code tags....
-
Dieser Thread wurde von Moderator/in evilissimo aus dem Forum C++ in das Forum Rund um die Programmierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
na das schaut eigentlich nicht falsch aus aber überprüfe mal zur Sicherheit ob das iconv_t handle gültig ist (also ungleich -1) und was der rückgabewert der iconv() funktion ist.