在C語言中,可以使用標準庫函數來實現文件的復制。下面是一個基本的示例代碼:
```c
#include
#define BUFFER_SIZE 4096
int main() {
FILE *sourceFile, *targetFile;
char buffer[BUFFER_SIZE];
sourceFile = fopen("source.txt", "rb"); // 打開源文件(以二進制模式讀取)
if (sourceFile == NULL) {
printf("無法打開源文件。\n");
return 1;
}
targetFile = fopen("target.txt", "wb"); // 打開目標文件(以二進制模式寫入)
if (targetFile == NULL) {
printf("無法創建目標文件。\n");
fclose(sourceFile);
return 1;
}
while (fread(buffer, sizeof(char), BUFFER_SIZE, sourceFile) > 0) { // 從源文件讀取數據
fwrite(buffer, sizeof(char), BUFFER_SIZE, targetFile); // 將數據寫入目標文件
}
printf("文件復制成功。\n");
fclose(sourceFile);
fclose(targetFile);
return 0;
}
```
以上示例中,我們使用了`fopen()`函數來打開源文件和目標文件,并指定了相應的文件名和訪問模式("rb"表示以二進制
模式讀取文件,"wb"表示以二進制模式寫入文件)。
然后,我們使用一個循環來不斷從源文件中讀取數據,并將讀取到的數據寫入目標文件中。這里使用了`fread()`函數從源
文件中讀取數據,并使用`fwrite()`函數將數據寫入目標文件。
最后,通過`fclose()`函數關閉源文件和目標文件,釋放資源。
請確保在運行代碼之前,已經創建了一個名為"source.txt"的源文件。執行該代碼后,將會生成一個名為"target.txt"的目
標文件,內容與源文件相同。