正文
c语言文件夹拷贝函数 c语言文件复制到另一个文件
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
请帮忙用C语言编写一个函数~~~功能是“文件复制”~~~谢谢~~
以二进制打开源文件进行读取(二进制可以拷贝任何文件),以二进制打开目标文件进行写入,读取源文件的一个字符,如果feof()表明已经到达文件末尾,如果没有到达源文件末尾,则将该字符写入目标文件。loop...
int file_copy(char *oldname, char *newname)
//接收文件名为输入,把oldname文件拷贝到newname
{ FILE *fold, *fnew;
int c;
//打开源文件
if ((fold = fopen(oldname, "rb")) == NULL)
return -1;
//打开目标文件
if ((fnew = fopen(newname, "wb")) == NULL)
{ fclose(fold); //如果目标文件空,关闭并返回
return -1;}
while (1)
{ c= fgetc(fold);
if (!feof(fold))
fputc(c, fnew);
else
break;
}
fclose(fold);
fclose(fnew);
}
c语言中文件复制该用什么函数?
system 函数是可以运行一个外部控制台程序。
标准的复制文件方法是用API函数 CopyFile/CopyFileEx
这两个函数,详细参数和参数的意思,你查查MSDN上面写的很详细
C语言函数编写:文件复制
C语言实现一个简单的文件复制功能,Linux环境下。
思路步骤:(下代码最重要的逻辑步骤清晰)
第一步:打开源文件(要复制的文件),打开文件的方式以读的方式就可以了。
Linux C打开文件的库函数有:int open(const char *pathname,int flags),int open(const char *pathname,mode_t mode),以及 FILE *fopen(const char *path,const char *mode),FILE *fdopen(int fd,const char *mode),这几个函数,具体的使用方法就查看manual就可以了。
第二步:创建目标文件,所用的函数也是上面那几个。
第三步:读取文件。库函数有:size_t read(int fd,void *buf,size_t count),
size_t fread(void *ptr,size_t size,size_t nmemb,FILE *stream)
第三步:写入目标文件。用的库函数:size_t write(int fd,void *buf,size_t count),
size_t fwrite(void *ptr,size_t size,size_t nmemb,FILE *stream)
第四步:关闭文件。库函数:int fclose(FILE *fp) ,int close(int fd)
思路步骤就是这样子的了。下面是具体的代码实现。
#include
#include
#include
#include
#include
#include
int main(int argc,char *argv[])
{
int fd_source_file,fd_copy_file;//用接受int open()函数返回的值
//FILE *fp_source_file,*fp_copy_file;//如果用FILE *fopen()函数的话
int size_read,size_write;
char buf[1024];
char copy_file_name[50];
//检查参数的输入
if(argc3)
{
printf("usage: ./a.out source_file_path copy_file_path\n");
exit(1);
}
//复制目标文件名
strcpy(copy_file_name,argv[2]);
//打开源文件
if( (fd_source_file=open(argv[1],O_RDONLY,00744))0 )
{
perror("open source file error");
exit(1);
}
//创建目标文件
if( (fd_copy_file=open(argv[1],O_CREAT|O_RDWR)) 0 )
{
perror("create copy file error");
exit(1);
}
do
{
//读取文件内容
if( (size_read=read(fd_source_file,buf,1024)) 0 )
{
perror("read source file error");
exit(1);
}
//写入目标文件
if( (size_write=write(fd_copy_file,buf,sieze_read))0 )
{
perror("wrire file error");
exit(1);
}
}while(size_read==1024)
return 0;
}
关于c语言文件夹拷贝函数和c语言文件复制到另一个文件的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。