标签:include 数字 scanf 单词 etc string fscanf div logs
wc.exe是一个常见的工具,他能统计文本文件的字符数、单词数和行数,在网上搜罗之后找到了一篇例文代码
链接如下http://bbs.csdn.net/topics/390918327?page=1
在经过学习之后我自己试着敲了一下,在多次调试之后终于完成。代码如下
运行环境win7 vs2013
1 #include<stdio.h> 2 #include<string.h> 3 #include<stdlib.h> 4 int c_char(FILE *fp) 5 { 6 int num = 0; 7 char s[20]; 8 while (!feof(fp)) 9 { 10 fscanf_s(fp, "%s", s); //读取字符串 11 num += strlen(s); //叠加字符数 12 } 13 printf("字符数(不计空格和回车)有%d个\n", num); 14 rewind(fp); //绕回文件指针 15 return num; 16 } 17 int w_world(FILE *fp) 18 { 19 char s[20]; 20 int n = 0, num = 0; 21 while (!feof(fp)) 22 { 23 if (fscanf_s(fp, "%s", s) && !(s[0] >= ‘0‘ && s[0] <= ‘9‘)) 24 n++; 25 else 26 num++; 27 } 28 printf("单词数有%d个,数字有%d个\n", n, num); 29 rewind(fp); 30 return n; 31 } 32 int l_line(FILE *fp) 33 { 34 int n = 1; 35 char ch; 36 while (!feof(fp)) 37 { 38 if ((ch = fgetc(fp) == ‘\n‘)) 39 n++; 40 } 41 printf("有%d行\n", n); 42 rewind(fp); 43 return n; 44 } 45 void main() 46 { 47 FILE *fp; 48 fp = fopen("1.txt", "r"); //打开文件 49 c_char(fp); 50 w_world(fp); 51 l_line(fp); 52 fclose(fp); 53 }
标签:include 数字 scanf 单词 etc string fscanf div logs
原文地址:http://www.cnblogs.com/MorningStarHu/p/7560545.html