社区
C语言
帖子详情
用C语言做一个对C源程序进行行数统计的程序!急~~~
citytiti
2004-08-30 09:23:01
对C源程序文件进行行数统计的程序,要求输出一个指定目录下的所有.C及.H文件的大小,总行数,代码行数及注释行数.
要求用C语言编写。。。
...全文
403
14
打赏
收藏
用C语言做一个对C源程序进行行数统计的程序!急~~~
对C源程序文件进行行数统计的程序,要求输出一个指定目录下的所有.C及.H文件的大小,总行数,代码行数及注释行数. 要求用C语言编写。。。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
citytiti
2004-09-04
打赏
举报
回复
谢谢大家啊!太感谢了!
lion1900
2004-08-31
打赏
举报
回复
/************************************************
* -name [IN]源文件名 *
* -code [OUT]代码行数 *
* -comment [OUT]注释行数 *
* 返回总行数。出错返回0 *
*************************************************/
int sum_line(char *name, int *code, int *comment)
{
FILE *fp;
char buff[BUFF_MAX];
int flag;
if((fp = fopen(name, "rt")) == NULL)
return 0;
(*code) = 0;
(*comment) = 0;
flag = 0;
empty = 0;
while(!feof(fp))
{
fgets(buff, BUFF_MAX, fp);
if(strstr(buff,"\n") == buff)
continue;
if(flag == 1)
{
if(strstr(buff, "*/") != NULL)
flag = 0;
(*comment)++;
continue;
}
if(strncmp(buff, "//", 2) == 0)
(*comment)++;
else if(strncmp(buff, "/*", 2) == 0)
{
if(strstr(buff, "*/") != NULL)
(*comment)++;
else
flag = 1;
}
else
(*code)++;
}
fclose(fp);
return (*code) + (*comment);
}
pacman2000
2004-08-31
打赏
举报
回复
int i; // 注释。。。
这算是一行? 一个代码行? 一个注释行? 还是一个代码行加一个注释行?
楼主的需求描述不清楚啊。
lion1900
2004-08-31
打赏
举报
回复
mark
短歌如风
2004-08-31
打赏
举报
回复
一般来说,C代码中的有效代码行数与分号的个数是大致接近的,没有必要为了精确统计做得那么复杂。如果一定要精确统计,就要完成一个C代码语法分析器了。
zwzzj
2004-08-31
打赏
举报
回复
#include <stdio.h>
void main(int argc,char **argv){
FILE *fs,*fd;
int ln=1;
char buf[512];
if(argv!=3){
printf("parament error!\n");
printf("\nformat:filename source_file destion_file\n");
getch();
exit(0);
}
if((fs=fopen(argv[1],"rt"))==NULL){
printf("Cannot oprn this file %s\n",argv[1]);
exit(0);
}
if((fd=fopen(argv[2],"wt"))==NULL){
printf("Cannot oprn this file %s\n",argv[2]);
exit(0);
}
while(fgets(buf,512,fs)!=NULL)
if(fprintf(fd,"%d%-6s",ln++,buf)==NULL){
printf("Cannot write to %s.\n",argv[2]);
fclose(fd);
exit(0);
}
fclose(fs);
printf("OK!\n");
}
ywfscu
2004-08-30
打赏
举报
回复
一行一行的读直到feof()
健之
2004-08-30
打赏
举报
回复
逐个打开每个文件,读出相应的行数等,并作出判断。
Squall1009
2004-08-30
打赏
举报
回复
?
linguanyu315
2004-08-30
打赏
举报
回复
同意楼上的.
Wugifer
2004-08-30
打赏
举报
回复
用 fgets 吧,一次一行。
zwzzj
2004-08-30
打赏
举报
回复
读出文件中的512字节到缓冲区,再调用fprintf()函数就可以了。代码明天给你传过来。
citytiti
2004-08-30
打赏
举报
回复
请高人指点迷津!最好能给我个程序!
李宠波
2004-08-30
打赏
举报
回复
怎么算是一行?如果一个回车就是一行,或者一个分号就算是一代码行,那就容易了。
Linux----
统计
所有
C语言
源
程序
中,下列系统函数的被调用次数
Linux作业-------有
一个
文件夹,下面有许多个
C语言
源
程序
。要求编写
一个
程序
,
统计
所有
C语言
源
程序
中,下列系统函数的被调用次数。 printf open close read write fork signal
统计
结果输出到myresult.txt文件按中,格式如下: printf 49 open 13 close 13 read 24 write 16...
C语言
代码
行数
分类
统计
小
程序
(源代码)
1 需求分析 1) 问题描述: 读入
一个
(最多9个)C
程序
代码文件,
统计
程序
中代码、注释和空
行数
以及函数的个数,显示函数名并生成相应的记录日志。 2) 基本要求如下: (1)、把
程序
文件(如.c或者.txt等)按字符顺序读入
源
程序
; (2)、输入正确性检查; (3)、边读入
程序
,边识别
统计
代码行、注释行和空行,同时还要识别函数,
统计
代码个数; (4)、最多允许一次分析9个文件
C语言
:
源
程序
简单分析器-代码
//********************************************************************************************** #include <stdio.h> #include<windows.h> #include <mmsystem.h> #include <stdlib.h>...
一个
简单的
统计
C
源
程序
代码
行数
的小
程序
#include #include #define M 255static int label = 0;unsigned long count_line(char file_name[]);void process(char str[]);int is_legal(char str[]);int main(int argc, char* argv[]
【C
程序
设计语言第二版】
统计
字符数、
行数
以及单词数
1.
统计
字符数 我们可以利用getchar函数,来
进行
字符的读入,并对读入的字符
进行
判断。 EOF:文件结束符,这个特殊值常量与任何实际字符都不相同。 这里我们用int类型来接收getchar返回的字符的的原因:为了让变量ccc能存下EOF这个常量值。 各种数据类型能表示的数值范围由编译器决定。char类型在有些编译器中定义的范围为0∼2550 \sim2550∼255,另外一些编译器中定义的范围...
C语言
70,038
社区成员
243,247
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章