khi tôi đọc từ một tập tin sử dụng fread (ngôn ngữ C), giá trị trả về của hàm fread đôi khi sẽ là 0.do fread và fwrite có lỗi? làm thế nào để xử lý này?
Là nhãn hiệu gợi ý:
fread() và fwrite() trả lại số các mục đã đọc thành công hoặc được viết
Tôi có phải viết mã như thế này không?
int bytes_read;
while((bytes_read = fread(buffer, sizeof(int), 1, fp)) == 0) {
}
chúng ta luôn phải kiểm tra xem fread hoặc fwrite có thành công không?
Không, giá trị trả về là 'đếm', không phải là' kích thước * đếm', khi toàn bộ thao tác thành công. –
@R .. - Uh ... Tôi không nghĩ điều đó đúng. Bạn có chắc không? Bạn có tài liệu không đồng ý với tài liệu tôi đăng không? – Steve
@R .. - Tôi khá chắc chắn rằng nếu bạn yêu cầu các mục "5" có kích thước "10" thì câu trả lời phải là "50" chứ không phải "5". – Steve