Tôi đang cố đọc các tệp được ghi đồng thời vào đĩa. Tôi cần phải đọc các khối có kích thước cụ thể. Nếu kích thước đọc nhỏ hơn kích thước cụ thể, tôi muốn chưa đọc tệp (giống như những gì ungetc làm, thay vì một char []) và thử lại. Phụ thêm vào các byte đã đọc không phải là một lựa chọn cho tôi.chưa đọc một tệp trong C++
Làm cách nào có thể?
tôi đã cố gắng tiết kiệm vị trí hiện tại thông qua:
FILE *fd = fopen("test.txt","r+");
fpos_t position;
fgetpos (fd, &position);
và sau đó đọc các tập tin và đưa con trỏ trở lại vị trí trước-fread của nó.
numberOfBytes = fread(buff, sizeof(unsigned char), desiredSize, fd)
if (numberByBytes < desiredSize) {
fsetpos (fd, &position);
}
Nhưng có vẻ như nó không hoạt động.
C _or_ C++? Chọn một. –
@EtiennedeMartel, có những lúc sự khác biệt quan trọng - đây có phải là một trong số đó không? Không giống như tôi. –
@MarkRansom, nó không quan trọng cho dù sự khác biệt trong * câu hỏi * vấn đề - nhưng nó quan trọng khi đưa ra câu trả lời. ** Cao ** vấn đề khi đưa ra câu trả lời. – Griwes