PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem CString in int umwandeln


Gast
2012-07-12, 15:44:43
Ich habe da ein problem,welches mich sehr nervt und ich keine Ahnung habe woran es liegt.

int anz;
this->GetDlgItemTextW(IDC_ANZAHL_EDIT,this->m_anz);
anz=atoi((char*)this->m_anz.GetBuffer(TextBuffer.GetLength()));


Wenn ich in das CEdit-Feld(IDC_ANZAHL_EDIT) im Dialog z.B.12345 eingebe holt er mit GetDlgItemTextW 12345 in m_anz.
Ab jetzt weiss ich nicht mehr was ich machen soll mit atoi ist das Ergebniss(anz) immer nur 1. Es wird immer nur die erste Ziffer ausgegeben.

Ich bitte um Hilfe.

Danke

Ectoplasma
2012-07-12, 17:22:17
atoi arbeitet nur auf char*. Du holst dir aber einen 2 Byte Character String. Das bedeutet, dass die interne Darstellung 0x31 0x00 0x32 0x00 ist. Fällt dir was auf? Hinter der 1 ist bereits ein Null-Terminator. Benutze mal "_wtoi" statt der "atoi" Funktion.