Từ 1 tới 4 trên tổng số 4 kết quả

Đề tài: Lỗi đọc file và ghi file với fread, fwrite :(

  1. #1
    Ngày gia nhập
    10 2010
    Bài viết
    7

    Mặc định Lỗi đọc file và ghi file với fread, fwrite :(

    Hi mọi người, mình mới code C nên không hiểu rõ lắm về vấn đề đọc và ghi file nhị phân.
    Mình có 1 đoạn code dưới đây để đọc lần lượt mỗi block 1024 byte từ file A và thi thành file B, tuy nhiên không hiểu sao file B ghi ra luôn lớn hơn file A vài chục byte. Nhờ mọi người giúp đỡ :(
    Code:
    int main(int argc, _TCHAR* argv[])
    {
    	FILE* fpR = fopen("D:\\aaa.doc", "rb");
    	fseek(fpR, 0, SEEK_SET);
    	
    	FILE *fpW = fopen("D:\\bbb.doc", "w");
    	fseek(fpW, 0, SEEK_SET);
    	
    	unsigned char mfcc[1024];
    	int Read = fread(mfcc, 1, sizeof(mfcc),fpR);
    
    	while(Read >0){
    		fwrite(mfcc, Read, 1, fpW);
    		Read = fread(mfcc, 1, sizeof(mfcc),fpR);
    	}
    	fclose(fpW);
    	fclose(fpR);
    }
    Đã được chỉnh sửa lần cuối bởi philip12a8 : 21-12-2011 lúc 04:27 PM.

  2. #2
    Ngày gia nhập
    04 2008
    Nơi ở
    Bốn bề là nhà
    Bài viết
    703

    Bạn thử đọc từng byte trong 2 file đó ra và so sánh xem thực ra là nó bị thừa ở chỗ nào.

  3. #3
    Ngày gia nhập
    10 2010
    Bài viết
    7

    Mình dùng tool compare thì thấy nó tự động chèn vào ký tự xuống dòng 0D ở mỗi dòng bạn ah.

  4. #4
    Ngày gia nhập
    10 2010
    Bài viết
    7

    Ah mình hiểu rồi, do đoạn code mở file để ghi của mình bị lỗi.
    Sai:
    FILE *fpW = fopen("D:\\music22.mp3", "w");
    Đúng:
    FILE *fpW = fopen("D:\\music22.mp3", "wb");

    Hôm qua dùng mode "w" để mở nên nó coi đó là file text và tự động chèn 0D vào cuối dòng.
    Nhờ mod đóng topic giùm mình nhé

Các đề tài tương tự

  1. Đọc từ file bằng fread
    Gửi bởi atbOmay trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 0
    Bài viết cuối: 20-03-2012, 04:46 PM
  2. Lỗi ghi file bởi hàm fwrite từ luồng phụ
    Gửi bởi svcntt trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 2
    Bài viết cuối: 31-07-2011, 11:14 PM
  3. Trả lời: 17
    Bài viết cuối: 23-05-2011, 11:47 AM
  4. Bài tập C sủ dụng hàm fread và fwrite bị lỗi
    Gửi bởi laimotlanuabi trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 01-05-2011, 12:47 AM
  5. lỗi đọc ghi file dùng hàm fwrite và fread
    Gửi bởi supnobita trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 0
    Bài viết cuối: 02-01-2011, 08:42 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn