这段程序,先从控制台读取一段字符串到第一个文件中,然后将第一个文件的内容复制到第二个文件中。


#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
    FILE *in,*out;
    char filename[30]="nyist.txt",filename_copy[30]="zhengda.txt",str[50];

    printf("enter filename:\n");
    gets(filename);/*读入要复制的文件的文件名*/
    printf("enter strings:\n");
    gets(str);

    if((out=fopen(filename,"w"))==NULL)
    {
        printf("cannot open file!\n");
        exit(0);
    }

    fputs(str,out);/*将字符串存到文件中*/
    fclose(out);

    printf("contents have been saved in file %s\n\n",filename);
    printf("enter the other filename which you want to copy with:\n");
    gets(filename_copy);/*读入要复制到的文件名*/

    if((out=fopen(filename,"r"))==NULL)
    {
        printf("cannot open the outputfile!\n");
        exit(0);
    }
    if((in=fopen(filename_copy,"w"))==NULL)
    {
        printf("cannot open the inputfile!\n");
        exit(0);
    }

    while(!feof(out))/*一个字符一个字符的从第一个文件中读到第二个文件中*/
        fputc(fgetc(out),in);

    fclose(out);
    fclose(in);
    return 0;
}