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