有没有办法从一个字符指针设置起始位置,它是内存中的一个文件。
我需要从流中读取数据的提取大小字节,并将它们复制到提供的数据地址并返回读取的字节数。 这是我的 memset 试用版,我尝试对内存中的文件执行类似 fread 的操作。 希望可以有人帮帮我。
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;
}
最佳答案
如果您能够使用 c FILE
结构,您可以在 FILE *
上使用 fseek
。
关于C++ memset - 提取大小字节并将它们复制到缓冲区中提供的数据地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16468057/