字符串到字节的转换

时间:2012-09-12 17:15:39

标签: c++ visual-studio-2010 mfc

我正在研究Visual Studio C ++。

我有这些代码:

    CString str; 
    BYTE byBuffer[10000] = { 0 };
    str ="Invalid Command. Spaces are not allowed too!!";
    strcpy_s(reinterpret_cast<LPSTR>(byBuffer), 10000, T2CA(str ));

问题是byBuffer =“无效命令。也不允许空格!!”;但在以下行之后,字符串会发生变化。   LPBYTE lp = byBuffer;虽然它适用于像OK,GOOD JOB这样的小字符串。等等。

我正在通过设置断点来调试整个代码。此外,此函数已被调用到另一个函数,其中(LPBYTE lpBuffer)收到此值。

Plz帮助

1 个答案:

答案 0 :(得分:2)

你向我们展示的代码看起来还不错,所以我正在努力做出猜测。

我猜你正试图从一个函数返回这个缓冲区:

LPBYTE lp = byBuffer;
return lp;

如果是这种情况,则局部变量byBuffer在函数结束时被破坏,指针不再指向有效内存。如果您能在输出中看到任何可识别的内容,那么您很幸运。