#include <stdio.h>
#define N 10
main()
{
int exit(int); /*exit()函数原型*/
FILE *in,*out;
char ch,infile[N],outfile[N];
printf("Please input infile name:");
scanf("%s",infile);
ch=getchar(); /*用来回收执行scanf("%s",infile)语句时最后输入的回车符*/
printf("Please input outfile name:");
scanf("%s",outfile);
ch=getchar();/*用来回收执行scanf("%s",outfile)语句时最后输入的回车符*/
if((in=fopen(infile,"r"))==NULL)
{
printf("Can not open infile. ");
exit(0);
}
if((out=fopen(outfile,"w"))==NULL)
{
printf("Can not open outfile. ");
exit(0);
}
while(!feof(in)) /*feof(in)用于判断in文件当前是否处于结束状态(即feof(in)=1), 如果是就跳出while循环执行其后的fclose(in)语句; 如果in文件当前不处于结束状态(即feof(in)=0)就执行while循环中的fputc(fgetc(in),out)语句*/
fputc(fgetc(in),out);
fclose(in);
fclose(out);
}
#define N 10
main()
{
int exit(int); /*exit()函数原型*/
FILE *in,*out;
char ch,infile[N],outfile[N];
printf("Please input infile name:");
scanf("%s",infile);
ch=getchar(); /*用来回收执行scanf("%s",infile)语句时最后输入的回车符*/
printf("Please input outfile name:");
scanf("%s",outfile);
ch=getchar();/*用来回收执行scanf("%s",outfile)语句时最后输入的回车符*/
if((in=fopen(infile,"r"))==NULL)
{
printf("Can not open infile. ");
exit(0);
}
if((out=fopen(outfile,"w"))==NULL)
{
printf("Can not open outfile. ");
exit(0);
}
while(!feof(in)) /*feof(in)用于判断in文件当前是否处于结束状态(即feof(in)=1), 如果是就跳出while循环执行其后的fclose(in)语句; 如果in文件当前不处于结束状态(即feof(in)=0)就执行while循环中的fputc(fgetc(in),out)语句*/
fputc(fgetc(in),out);
fclose(in);
fclose(out);
}
fputc(待输出字符,文件指针变量):将"待输出字符"以"文件指针变量"所指向的文件为文件名;
fgetc(文件指针变量):从"文件指针变量"中读入一个字符;
下面这种写法是正确的:
fputc(fgetc(文件指针变量1),文件指针变量2), 其含义为:从"文件指针变量1"所指向的文件中读取一个字符, 然后写入到"文件指针变量2"所指向的文件中并保存.