首页 > 代码库 > WC项目
WC项目
wc是一种计算机指令,用于统计一个文件中的行数、字数、字节数或字符数。不多说,代码如下:
1 #include <stdlib.h> 2 #include <string.h> 3 #include <stdio.h> 4 #include <ctype.h> 5 #include <io.h> 6 7 void open_file(int a,int b,int c); 8 char str1[50]; 9 char sym[100]={‘,‘,‘.‘,‘/‘,‘!‘,‘(‘,‘)‘,‘{‘,‘}‘,‘:‘,‘+‘,‘-‘,‘*‘,‘=‘}; 10 11 int main () 12 { 13 char s[100]; 14 gets(s); 15 16 while(1) 17 { 18 int s_ch=0,s_word=0,s_line=0;//记录输入的查询数据 19 int length_s=0; 20 length_s=strlen(s); 21 22 int i=0; 23 24 for(i=7;i<length_s;++i) 25 { 26 if((s[i]==‘-‘)&&(s[i+1]==‘c‘)) 27 { 28 s_ch=1; 29 } 30 if((s[i]==‘-‘)&&(s[i+1]==‘w‘)) 31 { 32 s_word=2; 33 } 34 if((s[i]==‘-‘)&&(s[i+1]==‘l‘)) 35 { 36 s_line=3; 37 } 38 if(s[i]==‘F‘) 39 { 40 strncpy(str1,s+i,length_s-i); 41 break; 42 }//获取文件名 43 } 44 open_file(s_ch,s_word,s_line); 45 printf("\n"); 46 47 gets(s); 48 } 49 50 return 0; 51 } 52 53 void open_file(int a,int b,int c) 54 { 55 FILE *fp; 56 fp=fopen(str1,"r"); 57 if(fp==NULL) 58 { 59 printf("the file not found\n"); 60 exit(0); 61 }//打开地址文件 62 63 int word_N=0,line_N=0,ch_N=0;//记录单词数、行数、字符数 64 char ch; 65 while((ch=fgetc(fp))!=EOF) 66 { 67 ch_N++; 68 69 int j=0,length_sy=0;//符号表的长度 70 length_sy=strlen(sym); 71 char s1[30];//保存单词 72 73 if(isalpha(ch)) 74 { 75 s1[j++]=ch; 76 ch=fgetc(fp); 77 ch_N++; 78 while(isalpha(ch)) 79 { 80 s1[j]=ch; 81 j++; 82 ch=fgetc(fp); 83 ch_N++; 84 } 85 word_N++; 86 }//是字母型的单词 87 if(isdigit(ch)) 88 { 89 s1[j++]=ch; 90 ch=fgetc(fp); 91 ch_N++; 92 while(isdigit(ch)) 93 { 94 s1[j]=ch; 95 j++; 96 ch=fgetc(fp); 97 ch_N++; 98 } 99 word_N++; 100 } 101 if(ch==‘\n‘) 102 { 103 line_N++; 104 }//行数 105 while(length_sy--) 106 { 107 if(ch==sym[length_sy]) 108 { 109 word_N++; 110 } 111 }//符号表的单词 112 } 113 if(a!=0) 114 printf("字符数:%d\n",ch_N); 115 if(b!=0) 116 printf("单词数:%d\n",word_N); 117 if(c!=0) 118 printf("总行数:%d\n",line_N+1); 119 }
WC项目
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。