利用标准IO函数接口实现文件拷贝,把本地磁盘的文件A中的数据完整的拷贝到另一个文本B中,如果文本B不存在则创建,要求文本A的名称和文本B的名称通过命令行传递,并进行验证是否正确。
/*******************************************************************
* author : [email protected]
* date : 2024/05/09
* function : 利用标准IO函数接口实现文件拷贝
* note : None
* CopyRight (c) 2023-2024 [email protected] All Right Reseverd
*
* *****************************************************************/
#include <stdio.h>
#include <stdlib.h>
int main(int argc,char const *argv[])
{
//待拷贝文件的路径需要通过命令行传递,则需要分析命令行参数数量是否符合需求
if(3 != argc)
{
printf("argument is invalied");
exit(1);
}
//打开待拷贝文件(rb)
FILE *file = fopen(argv[1],"rb");
if(NULL == file)
{
perror("open file failed");
return -1;
}
//打开目标文件(wb)
FILE *fp = fopen(argv[2],"wb");
if(NULL == fp)
{
perror("open fp failed");
return -1;
}
//循环将已读取到的字符写入到目标文件
int ch = fgetc(file);
while(ch != EOF)
{
fputc(ch,fp);//将字符写入到目标文件
ch = fgetc(file);//读取下一个字符
}
//输出待拷贝文件文本大小
printf("file size = %ld\n",ftell(file));
//输出目标文件文本大小
printf("fp size = %ld\n",ftell(fp));
//关闭文件
fclose(file);
fclose(fp);
return 0;
}
标签:fp,文件,ch,名称,file,拷贝,文本
From: https://www.cnblogs.com/lwj294/p/18182351