• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C语言统计文件字符数单词数行数

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

  前天用java写了这个功能,今天用C语言实现了一下,有点恼火的就是判断每行字符串最后一个字符了,如果为空格的话就要特别处理一下,还要注意,记得每行时都要将

isLastBlank重置为1,而且刚刚开始时候他的值是为0.
github地址:https://github.com/ICanV/wc

看代码:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void wcexe(char *filename){
	FILE *fp;
	char buffer[1000];
	char c;
	int bufferlen;
	int isLastBlank = 0; // 上个字符是否是空格(1表示是  0表示不是)
	int charCount=0;
	int wordCount=0;
	int lineCount=0;
	int i;

	if((fp=fopen(filename,"rb"))==NULL){
		printf("文件不能打开\n");
		exit(0);
	}
	while(fgets(buffer,1000,fp)!=NULL){
		bufferlen=strlen(buffer);
		for(i=0;i<bufferlen;i++){
			c=buffer[i];
			if(c==' ' || c=='\t'){
				if(isLastBlank==0){
					wordCount++;
				}
				isLastBlank=1;
			}else if(c!='\n'&&c!='\r'){
				charCount++;
				isLastBlank=0;
			}

		}
		if(isLastBlank==0)
			wordCount++;
		isLastBlank=1;
		lineCount++;
	}
	fclose(fp);
	printf("行数:%d\n",lineCount);
	printf("字符数:%d\n",charCount);
	printf("单词数:%d\n",wordCount);

	
}
void main(){
	char filename[]="C://Users//Administrator//Desktop//123.txt";
	wcexe(filename);

  

  


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Objective-C代码的文件扩展名与数据类型发布时间:2022-07-13
下一篇:
ANSICdraft发布时间:2022-07-13
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap