[英]Copying files from one folder to another in C Program
我想將一些文件從一個文件夾復制到另一個文件夾,在復制或替換文件之前,我只想從目標文件夾備份那些我試圖復制到源文件到目標文件的文件。
這就是我想要做的,但這在純 C 語言中可能嗎?。
首先,您應該說明要在哪個平台上執行此操作。
我對 Windows 不太熟悉,所以我要說的僅適用於 Linux(也許它也適用於 Windows,但我對此表示懷疑)。
看看man opendir和man readdir ,這些是你唯一需要做的事情(你顯然還需要打開/讀/寫和關閉,但我想你知道這一點)。
在 C 中沒有本地方法可以做到這一點。 您需要特定於平台的代碼。 最簡單的方法是使用system()
函數
system("copy C:\\Windows\\notepad.exe D:\\"); // Windows
或者
system("cp ~/myfile.txt ~/mycopiedfile.txt"); // *nix
但是為了獲得更好的性能和/或對結果的更多控制,您需要調用相應的 API(如 Windows 上的CopyFile()
),或者通過使用fread()
從源讀取到緩沖區然后寫入來自行復制文件使用fwrite()
到達目的地
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.