C言語-コマンドの作成 |
2-3 num
【名前】 num.c - 指定したファイルの内容を行番号付きで表示する。
【書式】 num filename
【解説】 各行の先頭に、行番号を付けて表示する。
【参照】 atypeに行数をカウントする処理を追加しただけである。これを利用すれば、ファイルの行数を報告するコマンドなども作成することができる。
【フローチャート・ソースリスト】(一部分 atype参照)
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 |