бинарный — C ++ memset — извлекает байты размера и копирует их в предоставленный адрес данных из буфера

Есть ли способ установить начальную позицию из указателя на символ, который был файл в памяти.

Мне нужно прочитать размер извлеченных байтов данных из потока, скопировать их на предоставленный адрес данных и вернуть количество прочитанных байтов.
Это была моя попытка установки memset, я пытаюсь сделать что-то вроде фреда с файлом в памяти.
Надеюсь, кто-нибудь может мне помочь.

typedef signed   long long Int64; // osx for example

Int64 FileStream::read(void* data, Int64 size)
{
// make sure, that size was not > as filename
Int64 wanted_buffer = currentposition + size;
if (wanted_buffer > memfile->GetSize())
size = memfile->GetSize() - currentposition;

// tryout with memcpy
memcpy(data, currentposition + memfile->GetBuffer(), size);
currentposition += size;

// like
// return std::fread(data, 1, static_cast<std::size_t>(size), m_file);

return currentposition;
}

1

Решение

Если вы можете использовать C FILE структура, которую вы можете использовать fseek на FILE *,

1

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

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

По вопросам рекламы [email protected]