Преобразование строки в байт

Я работаю над 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; Хотя он отлично работает для небольших строк, как хорошо, хорошая работа. так далее..

Я отлаживаю весь код, устанавливая точки останова. кроме того, эта функция была вызвана для другой функции, в которой (LPBYTE lpBuffer) получил это значение.

Помогите плз

0

Решение

Код, который вы нам показываете, выглядит нормально, так что я собираюсь сделать предположение.

Я предполагаю, что вы пытаетесь вернуть этот буфер из функции:

LPBYTE lp = byBuffer;
return lp;

Если это так, то локальная переменная byBuffer уничтожается в конце функции, и указатель больше не указывает на допустимую память. Вам повезло, если вы можете увидеть что-нибудь узнаваемое на выходе.

2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector