나는 다음과 같은 조건과 함께 다른 파일을 하나 개의 파일의 내용을 복사하는 C 프로그램이 필요한 C 언어에서 다른 파일의 내용을 복사 :는 파일 만들기 및
1) 우리는 데이터를 읽을 수있는 파일을 존재할 수도 있고 존재하지 않을 수도있다.
2) 데이터를 복사 할 파일이 존재할 수도 있고 존재하지 않을 수도 있습니다.
파일이있는 경우 데이터가 직접 복사되고 파일이 존재하지 않으면 파일을 만들고 파일에 데이터를 입력 한 다음 나중에 파일의 내용을 파일에 복사하는 옵션이 있어야합니다. 다른 파일.
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
void main()
{
FILE *f1,*f2;
char c;
char name1[20],name2[20];
clrscr();
setvbuf(stdout, 0, _IONBF, 0);
printf("\nEnter the source file name :");
scanf("%s",name1);
if((f1=fopen(name1,"r"))==NULL)
{
fclose(f1);
f1=fopen(name1,"w");
printf("\nThe specified file does not exist \nNew file will be created");
printf("\nEnter the data for the new file : ");
while((c=getchar())!=EOF)
{
putc(c,f1);
}
fclose(f1);
}
f1=fopen(name1,"r");
printf("\nEnter the destination file name :");
scanf("%s",name2);
f2=fopen(name2,"w+");
while((c=getc(f1))!=EOF)
{
putc(c,f2);
}
rewind(f1);
rewind(f2);
printf("The data in the source file is :\n");
while((c=getc(f1))!=EOF)
{
printf("%c",c);
}
printf("\nThe data in the destination file is :\n");
while((c=getc(f2))!=EOF)
{
printf("%c",c);
}
fclose(f1);
fclose(f2);
fflush(stdin);
getch();
}
그러나 프로그램이 소스 파일이 이미 존재하는 경우에만 작동합니다 :
나는 내 수정 된 코드는 현재 다음 코드,
을했다. 새 파일을 만들면 대상 파일 이름에 대한 입력이 수행되지 않고 대상 파일 파일의 데이터가 비어 있습니다. 이제 어떻게해야하지?
작동하도록 수정하려면 어떻게해야합니까? 나에게 원하는 코드를 제안 해주세요 ... 감사합니다!
정확히 어떤 작동하지 않는 이유는 무엇입니까? "효과가 없다"는 것은 유익하지 않습니다. –
새 파일을 만들면 대상 파일 이름에 대한 입력이 수행되지 않고 대상 파일 파일의 데이터가 비어 있습니다. –