1. 程式人生 > >c實現功能(11)對二進位制檔案的讀寫

c實現功能(11)對二進位制檔案的讀寫

#include <stdio.h>
#include <string.h>

int main(){
    //實現對二進位制檔案的讀取
    //開啟檔案
    FILE *p = fopen("D:\\test\\a.wmv", "rb");
    FILE *p1 = fopen("D:\\test\\b.wmv", "wb");

    //設定字元緩衝區的大小,設定為4K有利於記憶體的讀寫
    int buf[1024 * 4] = {0};
    //讀取檔案內容
    while(!feof(p)){
        memset(buf, 0, sizeof (buf));
        //因為需要保證讀取的位元組數和寫入的位元組數相同,所以使用fread讀取位元組數的返回值
        size_t res = fread(buf, sizeof (char), sizeof (buf), p);
        //寫入檔案內容
        fwrite(buf, sizeof (char), res, p1);
    }

    fclose(p);
    fclose(p1);

    return 0;
}