游客 Signup | Login
中文 | En

2965 - 【设计型】第13章:文件操作 13.4

复制文件。根据顺序提示从键盘输入一个已存在的文本文件的完整文件名,再输入一个新文本文件的完整文件名,然后将已存在的文本文件中的内容全部复制到新文本中,利用文本编辑软件,通过查看文件内容验证程序执行结果。

Input

输入文件名;

第一个输入原文件名;

第二个输入复制的文件名;

Output

如果复制成功,显示"Copy succeed!"

失败了显示"Copy failed!”

Examples

Input

a.txt
b.txt

Output

Copy failed!

Solution C

#include<stdio.h>
#define N 80 
int copyfile (const char *srcName,const char *dstName);
int main()  
{
char srcFilename[N]	;
char dstFilename[N];
scanf("%s",srcFilename );
scanf("%s",dstFilename);
if(copyfile(srcFilename,dstFilename)) printf("Copy succeed!\n");
else 
printf("Copy failed!\n");
return 0;
}
int copyfile(const char *srcName,const char *dstName)
{
	FILE *fpSrc=NULL,*fpDst=NULL;
	int ch,rval=1;
	if((fpSrc=fopen(srcName,"r"))==NULL) goto ERROR;
	if((fpDst=fopen(dstName,"w"))==NULL) goto ERROR;
	while((ch=fgetc(fpSrc))!=EOF)
	{
	if(fputc(ch,fpDst)==EOF) goto ERROR;	
	}
	fflush(fpDst);
	goto EXIT;
	ERROR:
		rval=0;
		EXIT:
			if(fpSrc!=NULL)fclose(fpSrc);
			if(fpDst!=NULL)fclose(fpDst);
			return rval;
}












Solution C++

#include<bits/stdc++.h>
using namespace std;
int main()
{
    char in[100];
    char out[100];
    char ch;
    cin>>in>>out;
    FILE *p1;
    FILE *p2;
    if((p1=fopen(in,"r"))==NULL)
    {
        cout<<"Copy failed!";
        return 0;
    }
    if((p2=fopen(out,"w"))==NULL)
    {
        cout<<"Copy failed!";
        return 0;
    }
    while(!feof(p1))
    {
        ch=fgetc(p1);
        fputc(ch,p2);
    }
    fclose(p1);
    fclose(p2);
    cout<<"Copy succeed!";
}

Time Limit 1 second
Memory Limit 128 MB
Discuss Stats
上一题 下一题