文件應用上機自測

字號:

文件應用程序
     1.將鍵盤輸入的字符流復制到指定的文件。
     【參考解】程序?qū)崿F(xiàn)逐行復制從鍵盤輸入字符到指定文件,直至輸入空行結(jié)束。程序如下:
    # include
    FILE *fp;
    void main()
    { int ch;
    char fname[40];
    printf("輸入文件名! \n");
    scanf("%s% *c",fname);
    fp=fopen(fname,"w"); /* 以寫方式打開正文文件 */
    while((ch=getchar()) !='\n') { /* 逐行處理,至空行結(jié)束 */
    do fputc(ch,fp); /* 行內(nèi)字符逐一復制 */
    while((ch=getchar())!='\n'); /* 處理當前行 */
    fputc(ch,fp); /* 輸出換行符 */
    }
    fclose(fp);
    printf("程序復制鍵盤輸入字符結(jié)束.\n");
    }
     2.編制從鍵盤輸入整數(shù)序列,并接輸入順序輸出到指定的文件中的程序。
     【參考解】程序循環(huán)地逐個從鍵盤輸入整數(shù),將整數(shù)輸出到指定的文件中。當程序發(fā)現(xiàn)不能從鍵盤輸入整數(shù)時結(jié)束循環(huán)。程序如下:
    # include
    FILE *fp;
    int main()
    { int x, k;
    char fname[40];
    printf("輸入文件名! \n"); scanf("%s%*c", fname);
    if((fp = fopen(fname,"w"))==NULL) { /* 以輸出方式打開正文文件 */
    printf("不能打開文件%s. \n", fname);
    return 0:
    k = 1;
    while(scanf("%d",&x) != l) { /* 能正確輸入一個整數(shù)循環(huán) */
    fprintf(fp, "%d \t",x);
    if(k++ %5== 0) fprintf(fp,"\n" );
    fclose(fp);
    printf("\n向文件%s輸出了%d個整數(shù).\n",fname,k-1);
    return 1;