#include<stdio.h>
#include<stdlib.h>
int main()
{
FILE *in,*out;
char ch,fn1[10],fn2[10];
printf("请输入所用的文件的名字:\n");
scanf("%s",fn1);
printf("请输入所用的文件的名字:\n");
scanf("%s",fn2);
if((in=fopen(fn1,"r"))==NULL) //打开输入文件
{
printf("无法打开此文件");
exit(0);
}
if((out=fopen(fn2,"w"))==NULL)//打开输出文件
{
printf("无法打开此文件");
exit(0);
}
while(!feof(in)) //feof函数,每访问完一个字符后,当前读写位置就指向下一个字节,即当前读写位置是自动后移的
//feof函数是用来检测文件读写位置标记是否移到文件的末尾
{
ch=fgetc(in); //从输入文件读写一个字符,暂时放在变量ch中
putchar(ch);//将这个字符输出到终端上显示
fputc(ch,out);//将这个字符写入到out文件指针指向的文件Fn2中
}
putchar(10);
fclose(in);
fclose(out);
return 0;
}
备注下:
写while(!feof(in))这里,注意的是:每访问完一个字符后,当前读写位置就指向下一个字节,即当前读写位置是自动后移的
还有:你输入文件必须是磁盘上已经存在的文件。否则会报错,它和w方式不一样,w方式如果检测到文件不存在会自动创建一个这样文件名的文件。