c++ - (C++/WinAPI) 反转 LPSTR

标签 c++ winapi chars reversing lpstr

我在反转 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() 不起作用。我只想逐个字符地复制。

编辑2:

*(lpReversed + i) = (CHAR) *(a_lpText + nTextLength - i - 1);

卡住整个程序。

最佳答案

试试这个)

*(lpReversed + i) = (CHAR) *(a_lpText + nTextLength - i - 1);

最好检查 a_lpText 是否为 NULL 和零长度!

关于c++ - (C++/WinAPI) 反转 LPSTR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12883035/

相关文章:

java - Java中如何处理unicode字符

c++ - append 两个字符时出现段错误 - C++

c++ - 原始套接字未接收 ARP 请求

c++ - 包含存储在 vector 中的 auto_ptr 的类

c++ - 将整数写入二进制文件 C++ 的问题

c++ - 在 win32 中绘制像素最快的方法是什么

c# - 波兰字符接收消息 imap

c++ - 最早支持 GCC 中的 __alignof__

windows - 使用加载时动态链接指定 "back-up"加载路径?

c++ - 如何处理带有操纵杆按钮的设备?