1. 程式人生 > >從一個文件中讀取數據到內存,然後再把內存中的數據寫入另外一個文件

從一個文件中讀取數據到內存,然後再把內存中的數據寫入另外一個文件

錯誤代碼 就會 取數據 stream off err sig where 返回值

//從一個文件中讀取數據到內存,然後再把內存中的數據寫入另外一個文件

#include "stdafx.h"
#include "stdlib.h"

int main(int argc, char* argv[])
{

FILE* fp;
FILE* fp2;
fp = fopen("C:/notepad.exe","rb");
fp2 = fopen("C:/aa.exe","wb");
fseek(fp,0,SEEK_END);
int size = ftell(fp);
fseek(fp,0,SEEK_SET);
unsigned char* buffer = (unsigned char*)malloc(size);
fread(buffer,size,1,fp);

fwrite(buffer, size, 1, fp2);
free(buffer);
fclose(fp);
fclose(fp2);
return 0;

}

//fopen 返回值:文件順利打開後,指向該流的文件指針就會被返回。如果文件打開失敗則返回NULL,並把錯誤代碼存在errno 中。
//fseek int fseek(FILE *stream, long offset, int fromwhere);函數設置文件指針stream的位置
//ftell 函數 ftell 用於得到文件位置指針當前位置相對於文件首的偏移字節數。
//fclose 使用fclose()函數就可以把緩沖區內最後剩余的數據輸出到內核緩沖區,並釋放文件指針和有關的緩沖區。

從一個文件中讀取數據到內存,然後再把內存中的數據寫入另外一個文件