檔案操作使用的函式(下)
阿新 • • 發佈:2018-11-20
拷貝檔案函式包含了很多檔案操作的函式。參考程式碼理解函式如何使用。
#include< stdio.h> #include<stdlib.h> #include< string.h> int main() { FILE *fp_from = NULL;//定義檔案指標 fopen_s(&fp_from, "from.txt", "w+"); FILE *fp_to = NULL; fopen_s(&fp_to, "to.txt", "w+"); int len;//獲取檔案長度 char*ch = NULL;//快取buffer if ((fp_from ) == NULL)//開啟原始檔,注意這句話中的括號,“==”的右邊要用括號括起來 { printf("open from file error!\n"); exit(0); } else { printf("open from file?successfully!\n?prepareto?write...\n"); } fwrite("hello the world", 1, strlen("hello the world"), fp_from);//將一個字串寫入原始檔中 printf("write successfully!\n\n"); fflush(fp_from);//重新整理檔案 if ((fp_to) == NULL)//開啟目標檔案 { printf("open write file error!"); exit(0); } else { printf("open?write file successfully!\n"); } len = ftell(fp_from);//獲取原始檔長度 ch = (char *)malloc(sizeof(char*)*(len)); //動態分配陣列長度 //memset(ch, 0, len); //清零,否則無法將內容寫入!!! rewind(fp_from);//將原始檔指標復位到開頭,否則寫入為空! fread(ch, 1, len, fp_from);//將原始檔內容寫到buffer中 fwrite(ch, 1, len, fp_to); //將buffer中的內容寫回到目標檔案中 printf("copy?successfully!\n"); fclose(fp_from);//關閉檔案 fclose(fp_to); return 0; }