私はバイナリ形式(uint8)で6kピクチャをいくつか持っています。私が必要とする立場に到達するまで、ほとんどのファイルをスキップしなければならないということです。今のところ最も速いのは、不要な部分を一時変数に読み込んで後で削除することですが、論理的にはこれは最も効率的な方法のようには見えません。ファイルにスキップする最速の方法(C/C++)
ifstream img;
int startingPixel = N;
for(int frame=0;frame<numFrames;frame++){
img.open("myfileAsFunctionOfFrame.bin",ios::in | ios::binary);
img.read((char*) &tempArray[0], startingPixel*sizeof(uint8));
img.read((char*) &myArray[frame*pixelsToRead], pixelsToRead*sizeof(uint8));
img.close();
}
delete [] tempArray;
私はimg.ignore()を使用しようとしましたが、遅くなりました。
提案がありますか?
みんなありがとうを役に立てば幸い! – foges