我有一些問題可以反轉LPSTR。 這裏是我的功能:(C++/WinAPI)反轉LPSTR
LPSTR Reverse(LPSTR a_lpText)
{
int nTextLength = strlen((char*)a_lpText);
LPSTR lpReversed = (LPSTR) GlobalAlloc(GPTR, nTextLength + 1);
for (int i = 0; i < nTextLength; ++i)
*(lpReversed + i) = (CHAR) *(a_lpText + nTextLength - i);
return lpReversed;
}
功能,返回未初始化LPSTR或一些奇怪的字符。 問題可能在轉換?感謝您的回答!
編輯1:strcat()不工作。我只是想通過字符複製char。
編輯2:
*(lpReversed + i) = (CHAR) *(a_lpText + nTextLength - i - 1);
凍結整個程序。
您需要添加空終止符。 –
@MikeKwan GPTR必須返回零初始化的內存。 – Maximus
你爲什麼使用GlobalAlloc?你爲什麼要把'LPSTR'轉換成'char *'? 「CHAR」到哪裏去了,爲什麼又投了?你只需要在這裏投一個。 –