Originaladresse: http://bbs.csdn.net/topics/340000641(LPSTR)(LPCTSTR)str Welcher Idiot hat es erfunden?
CString Str;
Dann, um die ANSI-Zeichenkette zu passieren,
(LPSTR) (LPCTSTR)str
Wer war der Idiot, der diesen Müllcode überhaupt geschrieben hat?
Es ist überall im Internet, und fast jeder, der MFC nutzt, hat es gesehen oder sogar darüber geschrieben!
Selbst wenn es VC6 ist, ist es kein Problem, das Ergebnis so zu schreiben – hat noch niemand darüber nachgedacht, was LPCTSTR mit einem zusätzlichen T bedeutet? Gibt es niemanden, der gesehen hat, dass man bei der Installation von VC6 trotzdem die UNICODE-Bibliothek auswählen kann? Die leichte Version von VC6 wird zu oft benutzt!
Die UNICODE-Umgebung ist korrekt geschrieben
CString Str;
CStringA strA(str);
strA.GetString(); oder strA.GetBuffer(0);
APIs verwenden? Es ist außerdem mit B ausgestattet, das ist MFC!
Gibt es nicht jemanden, der so etwas Einfaches wie Charakterumwandlung richtig schreibt?
Scheiße!