
2:API :FindFirstFile/FindNextFile/FindCurrentDirctory(不推荐,要玩的话自己百度)
过程:利用cmd指令 将所有的.c和.cpp路径 定向传输到一个txt里,循环读取路径并进行分析(多少个\n就有多少李滚行)。
包括的 头文件:stdio.h/stdlib.h/string.h
贴个程序,有些啰嗦,慢慢看:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(){
FILE *fp1,*fp2 //文件指针
char s[1000],path[1000]
char c //字符
long long unsigned n //行数
int c1,c2 //辅助进度条
printf("请输入根目录:")
scanf("%s", path)
//字符处理成:for /r 路径 %i in (*.c, *.cpp) do @echo %i >纤消>a.txt
strcpy(s,"for /r ")
strcat(s,path)
strcat(s," %i in (*.c,*.cpp) do @echo %i>>a.txt")
//调用控制台指令
system(s)
fp1 = fopen("a.txt", "r") //打开a.txt文件
c1 = 0
while(fscanf(fp1,"%c",&c)!=EOF){
if(c == '\n')
c1++ //统计共有多少个程序 辅助进度条
}
n = 0
c2 = 0
for(int i = 0i <100 i++) printf(" ")
printf(">---|\r") //进度条~_~
rewind(fp1) //重置指针到文件头
while(fscanf(fp1,"%s", path)!= EOF){
fp2= fopen(path,"r")
c2++
if(c2 >c1/100){
c2 = 0
printf(">")
}
while(fscanf(fp2,"%c", &c)!=EOF){
if(c=='\n') n++
}
fclose(fp2)
}
fclose(fp1)
printf("\n")
printf("总计%llu行代码、%d个程序,平均每个程序:%d行哪竖余", n, c1, n/c1)
system("pause")
system("del a.txt")
return 0
}
加了一个低端进度条(文件数<100,会出现奇妙的BUG,原因自己看吧)输入根目录的时候最好后面再加一个‘/’
网上有个握亮答叫SourceCounter的工具可以统计代码,你可以搜一下,作者的邮键蠢箱是boomworks@hotmail.com。我这也有这个工具,需要的话可以留个邮箱,给你发也行。软件段慧大小2.71M一般统计代码量不只是计算c文戚早迹件的睁段,高并该文主要介绍了C#统计C、C++及C#程序代码行数的方法,较为详细的分析了C#统计文本文件的原理与相关实现技巧,具有一定参考借鉴价值。具体如下。欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)