写一个程序,统计自己C语言共写了多少行代码

写一个程序,统计自己C语言共写了多少行代码,第1张

思路:1:system(调用系统函数 生成你所有的.c 文件(包含路径的文件名称))

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#统计文本文件的原理与相关实现技巧,具有一定参考借鉴价值。具体如下。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12493051.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-25
下一篇2025-08-25

发表评论

登录后才能评论

评论列表(0条)

    保存