1

メモリ内のファイルであった 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;
}
4

1 に答える 1

1

cFILE構造体を使用できる場合は、 a で使用できfseekますFILE *

于 2013-05-09T18:00:25.597 に答える