C语言---二进制和文本文件的备份
生活随笔
收集整理的這篇文章主要介紹了
C语言---二进制和文本文件的备份
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
C語言—二進制和文本文件的備份
學習參考:
https://www.cnblogs.com/jackytang/p/9011127.html
代碼:
#include <stdio.h> #include <stdlib.h> int copyFile(char *fileRead, char *fileWrite); int main() {char fileRead[100]; // 要復制的文件名char fileWrite[100]; // 復制后的文件名// 獲取用戶輸入printf("要復制的文件:");scanf("%s", fileRead);printf("將文件復制到:");scanf("%s", fileWrite);// 進行復制操作if (copyFile(fileRead, fileWrite)) {printf("恭喜你,文件復制成功!\n");}else {printf("文件復制失敗!\n");}system("pause");return 0; } /** * 文件復制函數 * @param fileRead 要復制的文件 * @param fileWrite 復制后文件的保存路徑 * @return int 1: 復制成功;2: 復制失敗 **/ int copyFile(char *fileRead, char *fileWrite) {FILE *fpRead; // 指向要復制的文件FILE *fpWrite; // 指向復制后的文件int bufferLen = 1024 * 4; // 緩沖區長度char *buffer = (char*)malloc(bufferLen); // 開辟緩存int readCount; // 實際讀取的字節數if ((fpRead = fopen(fileRead, "rt")) == NULL || (fpWrite = fopen(fileWrite, "wt")) == NULL) {printf("Cannot open file!\n");}// 不斷從fileRead讀取內容,放在緩沖區,再將緩沖區的內容寫入fileWritewhile ((readCount = fread(buffer, 1, bufferLen, fpRead)) > 0) {fwrite(buffer, readCount, 1, fpWrite);}free(buffer);fclose(fpRead);fclose(fpWrite);return 1; }測試截圖:
具體的內容隨便輸入!!!
時間復雜度O(n),空間復雜度O(1),數量級,實際上是4K
如果存在什么問題,歡迎批評指正!謝謝!
總結
以上是生活随笔為你收集整理的C语言---二进制和文本文件的备份的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 减肥可以吃鱼肉吗
- 下一篇: Word List 26