我有一些6k的二進制格式的圖片(uint8),我在這裏按照30行左右的圖塊處理圖片。其含義是,我最終不得不跳過大部分文件,直到我達到我需要的位置。到目前爲止,最快的事情似乎是將不必要的部分讀入臨時變量並在之後刪除變量,但從邏輯上講,這似乎不是最有效的方式。跳到文件位置的最快方法(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