Tôi đang cố sao chép tệp từ thư viện được chỉ định vào thư mục hiện tại. Tôi có thể sao chép tập tin văn bản một cách hoàn hảo. Bất kỳ tệp nào khác đều bị hỏng. Chương trình phát hiện một feof trước khi nó cần.Cách đọc tệp nhị phân trong c? (video, hình ảnh hoặc văn bản)
#include <stdio.h>
int BUFFER_SIZE = 1024;
FILE *source;
FILE *destination;
int n;
int count = 0;
int written = 0;
int main() {
unsigned char buffer[BUFFER_SIZE];
source = fopen("./library/rfc1350.txt", "r");
if (source) {
destination = fopen("rfc1350.txt", "w");
while (!feof(source)) {
n = fread(buffer, 1, BUFFER_SIZE, source);
count += n;
printf("n = %d\n", n);
fwrite(buffer, 1, n, destination);
}
printf("%d bytes read from library.\n", count);
} else {
printf("fail\n");
}
fclose(source);
fclose(destination);
return 0;
}
Đã khắc phục sự cố đó. Cảm ơn bạn. –