修改下面的程序,使之不采用命令行参数,而是请求用户输入文件名并读入用户的响应。
/* count.c -- 使用标准I/O */ #include <stdio.h> #include <stdlib.h> // ANSI C的exit()原型 int main(int argc, char *argv[]) { int ch; // 读取是存储每个字符的位置 FILE *fp; // 文件指针 long count = 0; if(argc != 2) { printf("Usage: %s filename\n", argv[0]); exit(1); } if((fp = fopen (argv[1], "r")) == NULL) { printf("Can't open %s\n", argv[1]); exit(1); } while((ch = getc (fp)) != EOF) { putc(ch, stdout); // 相当于putchar(ch); count++; } fclose(fp); printf("File %s has %1d characters\n", argv[1],count); return 0; }