如何實現c語言中複製檔案的程式,如何實現C語言中複製檔案的程式

時間 2021-12-19 07:47:39

1樓:風若遠去何人留

1 以唯讀方式開啟第乙個檔案

2 以寫方式開啟第二個檔案

3 迴圈讀取字元,並寫入第二個檔案。直到遇到eof結束。

4 關閉檔案。

**:#include

int main()

2樓:匿名使用者

要是只複製乙個檔案的話,流程如下:

1. 開啟讀檔案,準備寫檔案

2. 讀檔案到緩衝

3. 將緩衝內容寫到寫檔案

4. 如果所有內容複製完畢,關閉檔案

3樓:

下面的**可以實現複製檔案的功能,用法:程式名稱 源檔名 目標檔名,有什麼問題注意看提示

#include

#include

#include

#include

#include

#include

#include

#define buffer_size 1024

int main(int argc,char **argv)

/* 開啟原始檔 */

if((from_fd=open(argv[1],o_rdonly))==-1)

/* 建立目的檔案 */

if((to_fd=open(argv[2],o_wronly|o_creat))==-1)

/* 以下**是乙個經典的拷貝檔案的** */

while(bytes_read=read(from_fd,buffer,buffer_size))

} /* 寫的時候發生的致命錯誤 */

if(bytes_write==-1)

break;

} }close(from_fd);

close(to_fd);

system("pause");

exit(0);

return 0;}

用c語言實現檔案拷貝

4樓:匿名使用者

#include

int main(int argc, char *argv) //argc表示命令引數個數, argv表示引數名稱

fpdest = fopen(argv[2], "wb"); // //以寫入二進位制的方式開啟目標檔案

if(fpdest==null)

while((c=fgetc(fpsrc))!=eof)fclose(fpsrc); //關閉檔案指標,釋放記憶體fclose(fpdest);

return 0;}

5樓:

兩種方法:

1. 用c語言的檔案操作:讀出檔案argv[1]的內容,再把讀出的內容寫入到檔案argv[2]中

2. 使用版函式system來執行dos中的檔案拷貝命令權copychar command[100]="copy ";

strcat(command, argv[1]);

strcat(command," ");

strcat(command,argv[2]);

system( command );

6樓:童年的秋天

||#include

#include

int main(int argc, char *argv)if(argc==3)

ch=fgetc(p1);

while(ch!=eof)

printf("kaobei chenggong!");

}return 0;

} 要用命令列的模式執行程式版

可以加我百度權

7樓:匿名使用者

viod main(int agrc, char *argv) 其中argc==3

短短一句話,就有兩個錯誤,可見,你學習的態度是多麼不認真。

c語言---如何複製任意檔案?

8樓:匿名使用者

c語言複製檔案主要由三種辦法,你可以根據自己的知識選用乙個

方法1)利用c語言的二進位制讀寫函式

自己用fopen開啟原始檔和目標檔案,然後用迴圈讀寫實現複製

方法2)利用作業系統的檔案複製函式

例如windows就有如下api函式可以複製檔案

bool copyfile(

lpctstr lpexistingfilename, // name of an existing file

lpctstr lpnewfilename, // name of new file

bool bfailifexists // operation if file exists

);第乙個引數是用來存放當前要處理檔案的路徑。

第二個引數是用來存放使用者指定的新路徑。

第三個引數它是用來判斷使用者指定的新路徑是否已經存在要存放的路徑,如果為true,則新路徑中已經存在該檔案了,該函式呼叫失敗,否則就呼叫成功。

方法3:c語言呼叫作業系統的copy命令

首先#include

然後 程式中 呼叫 system(「這裡寫 copy的完整命令」);

9樓:陽光上的橋

書上的txt就是記事本檔案,b就是其他一切檔案,函式就是那些,fopen,fread、fwrite,或者使用open、read、write。

另外,檔案複製可以使用system函式,例如:

system("copy c:\\abc.rmvb d:\\movies\\");

10樓:匿名使用者

b檔案 就是以二進位制形式複製檔案,這樣可以操作所有檔案

原則上,所有的檔案都應該以b形式來操作。之所以把txt檔案單列出來,是因為txt本身就是以ascii碼形式儲存的,你不管怎麼操作都不會損壞。

11樓:匿名使用者

因為書上的例子簡單,所以用txt檔案做講解

用fopen的時候用"b"的話,所有檔案都能複製的

相應的函式就是 fopen, fread, fwrite

c語言,如何複製檔案,C語言,如何複製檔案

呼叫系統函式是以字串方式儲存的,而非二進位制。因為dos linux命令列下二進位制編碼無意義 所以system 一定不滿足你的要求。可以使用c的io函式達到你想要的目的 以下是簡要說明,不考慮出錯等問題 所有io函式包含在stdio.h中 linuxc是,turboc應該也是吧,忘了 1 定義原始...

c語言fwrite寫檔案失敗,C語言中的fwrite(或是fopen)的問題,追加寫入就錯誤。

file fp fp fopen 絕對路徑 w if fp null fwrite fp 如果出錯,請先看報錯時fopen出現的資訊,是不是不存在檔案或段的意思 描述 清楚一些,檔案是否存在 檔案開啟是否正確 是否有寫許可權 strerr和errorno結合,可以查出原因 這個程式原則意義上是沒有問...

c語言如何用檔案儲存資料,c語言中採用二進位制檔案儲存資料的問題

使用檔案操作函式即可用檔案儲存資料。1 c語言標準庫提供了一系列檔案操作函式。檔案操作函式一般以f 單詞的形式來命名 f是file的簡寫 其宣告位於stdio.h標頭檔案當中。例如 fopen fclose函式用於檔案開啟與關閉 fscanf fgets函式用於檔案讀取 fprintf fputs函...

C語言標頭檔案裡面應該寫什麼東西,C語言中的標頭檔案,原始檔到底是什麼東西?

通常是只把函式的宣告寫在標頭檔案.h裡,然後再另外建立乙個.c檔案放這些函式對應的定義.把所有函式的函式宣告放進去就行了,把函式的定義放在乙個cpp檔案中。比如 test.h的內容 void foo test.cpp的內容 void foo main.cpp的內容 include test.h in...

c語言問題字串的複製,用C語言實現字串拷貝函式有幾種方式

目標字串的長度 源字串的長度,否則會出不可預知的錯誤。這句話沒錯。你這第乙個程式執行應該是沒問題的,但是存在隱患。char c 20 b c 的意思就是把有20個字元的陣列首位址賦給了指標b 這樣b就有了指向的記憶體 而直接賦值 則只有首位址 你可以試 把陣列c賦值後 可以輸出20個不同的位址而 指...