Как скопировать в PVOID buffer из std::string
Есть:
void ExtractDataFromBlob(IN PSecBufferDesc secBufferDesc, IN const Blob &data)
{
PVOID buffer;
string markedString = MakeStringFromBlob(data);
const std::string &delimiters = "_@_OPPATT'SKI_@_";
// Signature | Data | Signature | Data ... Signature | Data
// Находим начало данных (пропускаем первую сигнатуру)
std::string::size_type pos = markedString.find_first_not_of(delimiters, 0);
// Находим следующую сигнатуру
std::string::size_type lastpos = markedString.find_first_of(delimiters, pos);
}
Надо secBufferDesc->pBuffers[1]->pvBuffer заполнить данными из подстроки markedString.substr(pos, lastpos - pos)
pvBuffer - это PVOID
как это сделать ПРАВИЛЬНО (по взрослому aka зачетно)?
(да я тупой, но мой проект по шифрованию, использующий 8 dll не заработает без этого, а завтра сдавать) ПЛИИИЗ....
Код:
memset(buffer, string.c_str(), string.size());
или
Код:
memset(pvBuffer, markedString.c_str() + pos, lastpos - pos);
только учти, что здесь нет проверки выхода за пределы буфера.
просто у меня это дело в цикле крутится... т.е. у меня строка вида:
<Signature + Data + Signature + Data + ...>
Я "вырезаю" из нее Data и копирую в secBufferDesc->pBuffers->pvBuffer