#include <stdio.h>int main(void){int ch;FILE *sfp;FILE *dfp;char sname[FILENAME_MAX];char dname[FILENAME_MAX];printf("要复制的原文件:");scanf("%s", sname);printf("要粘贴的文件:");scanf("%s", dname);if((sfp = fopen(sname, "r")) == NULL){printf("\a文件打开失败。\n");} else {if ((dfp = fopen(dname, "w")) == NULL){printf("\a文件打开失败。\n");}else {while ((ch = fgetc(sfp)) != EOF){fputc(ch, dfp);}fclose(dfp);}fclose(sfp);}return 0;}
运行结果:
#define FILENAME_MAX 1024;
在该运行环境中保证能够打开文件,保持这样的文件名的最大长度所需的数组元素个数。
fputc函数:
当从文件正常读取到字符时,就会进入 while 循环语句,通过 fputc(ch, dfp) 语句将读入的字符 ch 输出至流 dfp。
当达到文件末尾(后面没有字符)或者有错误发生时,就会结束 while 语句循环并关闭文件,程序结束运行。