c語言複製檔案問題,C語言複製檔案問題

時間 2021-12-18 21:42:58

1樓:一騎當後

c語言中有很多對檔案進行操作的工具,可以利用fgetc()和fputc()來實現檔案的拷貝功能。

比如:目的:在/home/cosmos/c_code目錄下有乙個名為students.

txt的原始檔,想將其拷貝到目錄/home/cosmos/下,並命名為students_copy.txt。

**如下:

#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;

}//輸入命令 gcc copyfile.c -o copyfile 編譯程式原始檔得到可執行檔案copyfile

輸入執行命令./copfile   /home/cosmos/c_code/students.txt    /home/cosmos/students_copy.txt

然後開啟 students_copy.txt檢驗一下複製是否成功。

2樓:傲賈

出現stream!=null的原因是檔名過長,超出那陣列的大小!

3樓:匿名使用者

印象中這種錯誤應該屬於定義的指標f,y沒有做記憶體空間長度預分配,使用完畢後沒有釋放空間所致,詳細的已記不太清了,你可以看一下 中的malloc()及free()兩個函式,前乙個分配記憶體空間,後乙個釋放空間,配合使用。

n多年前用過,現在已經記不清了,看無人回答,憑映像提示一下,希望有所幫助。

4樓:

開啟檔案方式問題y = fopen(b,"r+");改為

y = fopen(b,"w+");

printf("複製檔案中");每迴圈一次都執行一次 會顯示很多 放在迴圈前面好些

5樓:匿名使用者

乍看沒什麼問題。。是不是檔案f、y還不存在?

6樓:青青小草

ch = fgetc(f);

while(ch!=eof)

ch定義為int試試

7樓:匿名使用者

你的檔案需要 ctrl+z或回車。

c語言複製檔案,c語言複製檔案

照著api文件一步步來 沒問題的!include include int main fseek fp,0l,seek end len ftell fp a char malloc sizeof char len fseek fp,0l,seek set fread a,len,1,fp free f...

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

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

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

風若遠去何人留 1 以唯讀方式開啟第乙個檔案 2 以寫方式開啟第二個檔案 3 迴圈讀取字元,並寫入第二個檔案。直到遇到eof結束。4 關閉檔案。include int main 要是只複製乙個檔案的話,流程如下 1.開啟讀檔案,準備寫檔案 2.讀檔案到緩衝 3.將緩衝內容寫到寫檔案 4.如果所有內容...

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

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

c語言鍊錶檔案讀取問題,c語言鍊錶檔案讀取問題

問題就在於你存這個結構體的時候,把struct std pnext也存進去了,但這個pnext下次讀出來的時候可能是乙個無效的位址,沒看到insert函式是如何實現的,是否對這個值進行了處理,否則用這個指標做為鏈的話肯定出錯。p0指向鍊錶中最後乙個節點,讀到檔案結尾時,feof返回1,於是執行if語...