/* 编写程序实现2000-2200以内闰年输出。要求:
(1) 编写函数isleap(int)进行闰年判断。
(2) 将结果保存在磁盘文件leapyear.txt中。
(3) 编写函数int copyfile(char *tofilename, char *fromfilename)实现文件复制。*/
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
int main()
{
int year,t;
FILE *fp;
char ch,filename[10],tofilename[30],fromfilename[30];
printf("请输入年份:\n");
scanf("%d",&year);
isleap(year);
put_file();
printf("输入输出文件的名字:");
scanf("%s",tofilename);
copyfile(tofilename,filename);
return 0;
}
int put_file()
{
FILE * fp;
char filename[128];
printf("请输入文件名:");
scanf("%s",filename);
fp = fopen(filename, "w");
if(fp)
{
isleap(fp);
fclose(fp);
}
return 0;
}
void isleap(int year)
{
if((year%4==0&&year%100==0!=0)||(year%400==0))
printf("%d是闰年\n",year);
else
printf("%d不是闰年\n",year);
}
int copyfile(char *tofilename, char *fromfilename)
{
FILE *in,*out;
char ch;
if((in=fopen(fromfilename,"r"))==NULL)
{
printf("无法打开此文件\n");
exit(0);
}
if((out=fopen(tofilename,"w"))==NULL)
{
printf("无法打开此文件\n");
exit(0);
}
ch=fgetc(in);
while(!feof(in))
{
fputc(ch,out);
putchar(ch);
ch=fgetc(in);
}
putchar(10);
fclose(in);
fclose(out);
return 0;
}
将结果放入文件,失败,而且显示出来会乱码,文件复制也是失败