我正在嘗試讀取同時寫入磁盤的文件。我需要閱讀特定大小的塊。如果讀取的大小小於特定的大小,我想讀取文件(類似ungetc所做的,而不是char []),然後重試。追加已讀的字節對我來說不是一種選擇。未讀的C++文件
這怎麼可能?
我試圖保存當前位置通過:
FILE *fd = fopen("test.txt","r+");
fpos_t position;
fgetpos (fd, &position);
,然後讀取文件,並把指針恢復到之前-FREAD位置。
numberOfBytes = fread(buff, sizeof(unsigned char), desiredSize, fd)
if (numberByBytes < desiredSize) {
fsetpos (fd, &position);
}
但它似乎並沒有工作。
C _or_ C++?選一個。 –
@EtiennedeMartel,有時差異很重要 - 這是其中之一嗎?看起來不像我。 –
@MarkRansom,* question *中的差異是否重要無關緊要,但在給出答案時很重要。 **高度**在回答時很重要。 – Griwes