Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как скопировать в PVOID buffer из std::string

8.2K
24 января 2008 года
mohito
35 / / 24.11.2005
Тупой вопрос, но ОЧЕНЬ надо!!!

Есть:
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 не заработает без этого, а завтра сдавать) ПЛИИИЗ....
3
25 января 2008 года
Green
4.8K / / 20.01.2000
 
Код:
memset(buffer, string.c_str(), string.size());

или
 
Код:
memset(pvBuffer, markedString.c_str() + pos, lastpos - pos);

только учти, что здесь нет проверки выхода за пределы буфера.
8.2K
25 января 2008 года
mohito
35 / / 24.11.2005
А нужно выделять память под pvBuffer?

просто у меня это дело в цикле крутится... т.е. у меня строка вида:
<Signature + Data + Signature + Data + ...>

Я "вырезаю" из нее Data и копирую в secBufferDesc->pBuffers->pvBuffer
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог