演習7-8 K&R プログラミング言語C
2010年03月13日
演習7-8
問題文の『ページ』というのが何のことなのかよくわからない。
とりあえず、ファイルを印字する前にファイル名とファイル番号(ページ番号)を見出しとして印字するようにした。
#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { char c; char *prog = argv[0]; FILE *fp; int page_count = 1; if (argc < 2) { printf("Usage: %s FILE...\n", prog); exit(EXIT_FAILURE); } while (--argc > 0) { if ((fp = fopen(*++argv, "r")) == NULL) { fprintf(stderr, "%s can't open %s\n", prog, *argv); exit(EXIT_FAILURE); } printf("########## FILE : %s, PAGE : %d ##########\n", *argv, page_count); while ((c = getc(fp)) != EOF) { putchar(c); } page_count++; fclose(fp); } return 0; }
実行結果
$ ./ex7-8 foo.txt moo.txt ########## FILE : foo.txt, PAGE : 1 ########## hello, world hello, world hello, world hello, world hello, world hello, world ########## FILE : moo.txt, PAGE : 2 ########## hello, world hello, world hello, world hello, world! hello, world hello, world
プログラミング言語C 第2版 ANSI規格準拠
posted with amazlet at 09.11.27
B.W. カーニハン D.M. リッチー
共立出版
売り上げランキング: 9726
共立出版
売り上げランキング: 9726