C ++ memset - 提取大小字节并将它们从缓冲区复制到提供的数据地址

时间:2013-05-09 17:57:02

标签: c++ binary char memset

有没有办法从char指针设置起始位置,char指针是内存中的文件。

我需要从流中读取数据的提取大小字节,并将它们复制到提供的数据地址并返回读取的字节数。 这是我的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;
}

1 个答案:

答案 0 :(得分:1)

如果您能够使用c FILE结构,则可以fseek使用FILE *