|
发表于 2024-1-2 21:09:58
|
显示全部楼层
#include < io.h>
#include < direct.h>
#include < stdio.h>
#include < stdlib.h>
#include < string.h>
#define MAX 256
长总计;
int countLines(const char *文件名);
无效 findAllCodes(const char *path);
void findALLFiles(常量字符 *路径);
int countLines(常量字符 *文件名)
{
文件 *fp;
int 计数 = 0;
int 温度;
if ((fp = fopen(filename, “r”)) == NULL)
{
fprintf(stderr, “无法打开文件:%s\n”, filename);
返回 0;
}
而 ((temp = fgetc(fp)) != EOF)
{
如果 (temp == '\n')
{
计数++;
}
}
关闭(fp);
返回计数;
}
无效 findAllCodes(常量字符 *路径)
{
结构_finddata_t fa;
长柄;
char thePath[MAX], target[MAX];
strcpy(路径,路径);
if((handle = _findfirst(strcat(thePath, “/*.c”), &fa)) != -1L)
{
做
{
sprintf(target, “%s/%s”, 路径, fa.name);
总计 += countLines(target);
}while (_findnext(句柄, &fa) == 0);
}
_findclose(手柄);
}
无效 findALLDirs(常量字符 *路径)
{
结构_finddata_t fa;
长柄;
char thePath[最大];
strcpy(路径,路径);
if((handle = _findfirst(strcat(thePath, “/*”), &fa)) == -1L)
{
fprintf(stderr, “路径 %s 是错误的!\n”,path);
返回;
}
做
{
if (!strcmp(fa.name, “.”) || !strcmp(fa.name, “..”))
继续;
if( fa.attrib == _A_SUBDIR)
{
sprintf(thePath, “%s/%s”, 路径, fa.name);
findAllCodes(路径);
findALLDirs(路径);
}
}while (_findnext(句柄, &fa) == 0);
_findclose(手柄);
}
int main()
{
char 路径[MAX] = “.”;
printf(“计算中...\n”);
findAllCodes(路径);
findALLDirs(路径);
printf(“目前你总共写了 %ld 行代码!\n\n”, total);
system(“暂停”);
返回 0;
} |
|