自考“高級(jí)語(yǔ)言程序設(shè)計(jì)”習(xí)題答案詳解(50)

字號(hào):

3
    ABC FILE1 FILE2
    3.讀程序,寫功能。
    # include
    # include
    main(int argc, char *argv[])
    { FILE *fl,*f2;
    char ch;
    if(argc< 3)
    { printf(“Parameters missing! \n”);exit(0); }
    if(((f1 =fopen(argv[1],“r”))== NULL) ||
    ((f2=fopen(argv[2],“w”))== NULL))
    { printf(“Can not open file! \n”); exit(0); }
    while(!feof(f1)) fputc(fgetc(f1),f2);
    fclose(f1);
    fclose(f2);
    }
    「解」程序在argc小于3時(shí),報(bào)告出錯(cuò)信息結(jié)束。當(dāng)argc大于2時(shí),以程序啟動(dòng)時(shí)的第一和第二參數(shù)為文件名打開文件,井用循環(huán)將第一參數(shù)的文件內(nèi)容復(fù)制到第二參數(shù)的文件。
    9.4 程序設(shè)計(jì)題
    1.設(shè)計(jì)一個(gè)復(fù)制文本文件的程序,源文件名和目標(biāo)文件名隨程序啟動(dòng)執(zhí)行命令輸入。
    「解」直接寫出程序如下:
    # include
    FILE *rfp,*wfp;
    int main( int argc, char *argv[])
    {
    if( argc < 3) {
    printf(“Parameters missing ! \n”); return 0 ;
    }
    if(((rfp= fopen(argv[1],“r”))== NULL) ||
    ((=fopen(argv[2],“w”))== NLILL)) {
    printf(“不能打開文件\n”);
    return 0;
    }
    while( ! feof(rfp))
    fputc( fgetc(rfp), wfp);
    fclose(wfp);fclose(rfp);
    printf(“程序結(jié)束\n”);
    return l;
    }