Anfänger12 Geschrieben 22. Februar 2005 Teilen Geschrieben 22. Februar 2005 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 23. Februar 2005 Teilen Geschrieben 23. Februar 2005 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Anfänger12 Geschrieben 23. Februar 2005 Autor Teilen Geschrieben 23. Februar 2005 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!!!!!!! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 24. Februar 2005 Teilen Geschrieben 24. Februar 2005 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] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Anfänger12 Geschrieben 24. Februar 2005 Autor Teilen Geschrieben 24. Februar 2005 Klotzkopp du bist GROSSARTIG!!! dein Vorschlag funktioniert ohne wenn und aber. TOLL! Eine Frage noch was bedeutet der zweite Parameter wchar_t* stop? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 24. Februar 2005 Teilen Geschrieben 24. Februar 2005 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
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.