Veröffentlicht 22. Februar 200520 j HILFE!!!!! Ich habe das Problem beim Konventieren von CString zu double oder interger mit atof oder atoi (eVC 3.0 für PocketPC 2002). Ich habe bereits viele Möglichkeiten (z.B. GetBuffer() oder (char*) bzw. (const char*)) ausprobiert. Nichts funktieoniert für Pocket PC. Visual Studio C++ 6 konnte allerdings ohne schwierigkeiten umwandeln. Wo liegt das Problem und wie kann ich die CString-Objekte umwandeln.
23. Februar 200520 j Nichts funktieoniert für Pocket PC. Das ist eine denkbar schlechte Fehlerbeschreibung. Du solltest immer genau schreiben, was nicht funktioniert. Wenn du eine Fehlermeldung bekommst, solltest du die vollständig angeben. Das erleichtert die Diagnose ungemein. Dem Arzt sagst du doch auch nicht nur, dass es weh tut, sondern auch wo Meine Vermutung: CString basiert auf TCHAR, das wiederum ist unter Windows CE immer WCHAR, also sollte es mit _wtof funktionieren.
23. Februar 200520 j Ich beschreibe das Problem genauer. CEdit m_Edit; CString str; double y; m_Edit.GetWindowText(str); y = atof(str); Fehlermeldung: error C2664: 'atof' : cannot convert parameter 1 from 'class CString' to 'const char *' Ich habe gerade auch die Möglichkeit mit _wtoi (_wtof gibts nicht) ausprobiert, der Compiler meldet zwar keinen Fehler die compilierte Anwednung gibt jedoch an Stelle interger Zahl nur 0. Ich habe auch erkannt, daß das Problem in der Konventierung zwischen Unicode und ASCII (LPTSTR und char*) ist. Aber ich finde einfach KEINE Lösung!!!!!!!
24. Februar 200520 j Aber ich finde einfach KEINE Lösung!!!!!!!Ganz ruhig, kein Grund für multiple Satzzeichen Versuch bitte mal das hier: CString str; double y; m_Edit.GetWindowText(str); wchar_t* stop; y = wcstod(str, &stop);[/CODE]
24. Februar 200520 j Klotzkopp du bist GROSSARTIG!!! dein Vorschlag funktioniert ohne wenn und aber. TOLL! Eine Frage noch was bedeutet der zweite Parameter wchar_t* stop?
24. Februar 200520 j was bedeutet der zweite Parameter wchar_t* stop?Wenn die Funktion ein Zeichen findet, das sie nicht mehr der Zahl zuordnen kann (z.B. ein Buchstabe außer e), dann setzt sie den Zeiger, dessen Adresse du als zweiten Parameter übergibst, auf dieses Zeichen. Vermutlich brauchst du das gar nicht, aber laut MSDN Library darf man da keinen Nullzeiger angeben.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.