C言語-コマンドの作成
前へ 目次へ 次へ 

2-3 num

【名前】 num.c - 指定したファイルの内容を行番号付きで表示する。

【書式】 num filename

【解説】 各行の先頭に、行番号を付けて表示する。

【参照】 atypeに行数をカウントする処理を追加しただけである。これを利用すれば、ファイルの行数を報告するコマンドなども作成することができる。

【フローチャート・ソースリスト】(一部分 atype参照)

num


 1:
 2:
 3:
 4:
 5:
 6:
 7:
 8:
 9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
#include <stdio.h>
#include <stdlib.h>

#define STRING_MAX 256          /* 最大文字長の定義 */

int main(int argc, char *argv[])
{
    FILE    *filep;
    char    buff[STRING_MAX];
    int     count = 0;          /* 行数 */

    if(argc != 2){                          /* パラメータ数のチェック */
        printf("Usage : MTYPE filename\n");
        exit(1);
    }
    if((filep = fopen(argv[1], "r")) == NULL){   /* オープンチェック */
        printf("can not open file. %s\n", argv[1]);
        exit(1);
    }
    while(fgets(buff, STRING_MAX, filep) != NULL){  /* 1行読み込み */
        ++count;                                     /* 行数カウント */
        printf("%6d:%s", count, buff);               /* 1行表示 */
    }
    fclose(filep);                                   /* クローズ */
    return(0);
}


【課題】 複数のファイルが指定できるように改良しなさい。


前へ 目次へ 次へ 
Copyright © 2001 Hiroshi Masuda 

 

 

inserted by FC2 system