#include <stdio.h> #define VALIDATE_IS_STRING(f) do{ \ while ((c = getc(f)) != EOF) { \ if (validate_character_is_space(c)) { \ if (word) { \ wcount++; \ } \ word = 0; \ } else if((c >= 65 && c <= 90) || (c >= 97 && c <= 122)) { \ word = 1; \ } \ } \ }while(0) #define PRINTI(x) printf("The words number is: %d\n", x) static FILE * open_file_by_filename(char *filename) { FILE *fp= NULL; if ((fp = fopen(filename, "r")) == NULL) { printf("Can not open file, please check your filename!\n"); return (NULL); } return (fp); } static unsigned int validate_character_is_space(int ch) { return (unsigned int)(ch - 9) < 5u || ch == ' '; } static int get_string_number_in_file(FILE *filename) { int i = 0, iterate = 1; register int c; register int word = 0; long int wcount = 0; VALIDATE_IS_STRING(filename); return (wcount); } int main(int argc, char **argv) { FILE *fd; int count; if (argc < 2|| argc >=3) { printf("Invalid argument,please set right argument !\n"); return (-1); } if ((fd = open_file_by_filename(argv[1])) == NULL) return (-1); count = get_string_number_in_file(fd); PRINTI(count); fclose(fd); return (0); }
作者:androidzhaoxiaogang 发表于2012-12-31 23:56:50 原文链接
阅读:56 评论:0 查看评论