Каков наилучший способ преобразования void * в stringstream? Мне нужно преобразовать входящие данные завихрения, чтобы их можно было проанализировать.Convert void * to stringstream
я сделал следующее, и это, кажется, работает, но я уверен, что есть лучший способ
void ProcessData(void* data, size_t datalength)
{
if(data != nullptr)
{
std::stringstream ssdata;
ssdata << (char*)data;
}
}
EDIT Мой вопрос является частью более крупной проблемы, которые у меня есть. У меня есть локон перезванивают, который постоянно предоставляет мне данные MIME, где на каждый вызов обратно я должен проанализировать данные и отыскать
граничную строку, например, «MYBOUNADRY», а затем
Анализировать для строки длины содержимого, например «Content Length = 1400»
А затем скопировать данные, которая начинается сразу после Content Длина строки для 1400 байт в другой буфер данных
Но из-за разделения на порции характера данных обратные вызовы изображение данные могут быть в одном обратном вызове или распределены по двум обратным вызовам, поэтому я должен постоянно анализировать каждый входящий фрагмент данных.
Это не будет работать, если данные содержат 0 в середине. Итак, вы хотите преобразовать данные в строку, почему? Гораздо лучше разобрать его, как есть, без преобразования. –
Ответ зависит от содержимого вашего 'void *' (то есть, где он указывает, charset и т. Д.) – deviantfan
данные void * будут содержать текст в начале, а затем данные изображения в качестве его MIME-данных. Поэтому я хочу разобрать текст в начале –