從一個文件中讀取數據到內存,然後再把內存中的數據寫入另外一個文件
阿新 • • 發佈:2018-10-19
錯誤代碼 就會 取數據 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()函數就可以把緩沖區內最後剩余的數據輸出到內核緩沖區,並釋放文件指針和有關的緩沖區。
從一個文件中讀取數據到內存,然後再把內存中的數據寫入另外一個文件