求用C语言编写一个程序

编写一个C程序实现对一个或多个文件的行数、字数和字符数的统计... 编写一个C程序实现对一个或多个文件的行数、字数和字符数的统计 展开
 我来答
冒险岛乐乐
2008-10-28 · TA获得超过1969个赞
知道小有建树答主
回答量:621
采纳率:0%
帮助的人:0
展开全部
/*
程序在win-tc和tc2.0下调试通过,该程序实现统计一个文件的行数、字数和字符数。
一个行由一个换行符限定,一个字由空格分隔(包括空白符、制表符和换行符),
字符是指文件中的所有字符,包括回车符。
运行本程序,程序提示输入要统计的文件名(文件应该是文本文件),然后回车执行。
*/

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
main()
{
FILE *fp;
char fname[80];/*存贮文件名*/
int inline,inword; /* 行内和字内标志 */
int ccount,wcount,lcount; /* 字符,字,行 计数器 */
int c;
lcount=wcount=ccount=0;
inword=inline=0;

clrscr();
printf("Please input the file's name:\n");
scanf("%s",fname);
if((fp=fopen(fname,"r"))==NULL)
{
printf("Can't open file %s.\n",fname);
exit(1);
}
while((c=fgetc(fp))!=EOF)
{
ccount++;
if(c=='\n'||c==' '||c=='\t')
inword=0;
else if(inword==0)
{
wcount++;
inword=1;
}
if(c=='\n')
inline=0;
else if(inline==0)
{
lcount++;
inline=1;
}
}
fclose(fp); /* 关闭文件 */
printf(" Lines = %d\n",lcount);
printf(" Words = %d\n",wcount);
printf(" Characters = %d\n",ccount);
getch();
}
03013110
2008-10-27 · TA获得超过529个赞
知道小有建树答主
回答量:1216
采纳率:0%
帮助的人:423万
展开全部
5fen...
由于分数太少,我就写一个简单的,本函数可以扩展~吧分给我吧~
参数:文件名
返回值:字符数
int count(char *filename){
FILE *fp;
int c,ret;
char buf[BUFSIZ];
ret=0;
fp=fopen(filename,"r");
if(!fp)return -1;
while((c=fread(buf,BUFSIZ,0,fp))>=0){
ret+=c;
}
return ret;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
duanjian454
2008-10-27 · 超过33用户采纳过TA的回答
知道答主
回答量:172
采纳率:0%
帮助的人:117万
展开全部
想学好,最好能自己写。你可以多看看别人写的,也好为自己写打下基础。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式