|
发表于 2024-5-14 19:30:01
|
显示全部楼层
#include <io.h>
#include <direct.h>
#include <stdio.h>
#include <stdlib.h>
#include <字符串.h>
#define 最大 256
长总计;
int countLines(const char *文件名);
void findAllCodes(const char *路径);
void findAllFiles(const char *path);
int countLines(const char *文件名)
{
文件 *fp;
int 计数 = 0;
int 温度;
if((fp = fopen (filename, "r")) == NULL)
{
fprintf(stderr,"无法打开文件:%s\n",filename);
返回 0;
}
而((temp = fgetc(fp)) != EOF)
{
如果 (temp == '\n')
{
计数++;
}
}
fclose(fp);
返回计数;
}
void findAllCodes(const char *path)
{
结构_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(handle,&fa) == 0);
}
_findclose(句柄);
}
void findALLDirs(const char *path)
{
结构_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",path,fa.name);
findAllCodes(thePath);
findALLDirs(thePath);
}
}While(_findnext(handle,&fa) == 0);
_findclose(handle);
}
int main()
{
字符路径[MAX ]= ".";
printf("计算中...\n");
findALLCodes(path);
findALLDirs(path);
printf("目前你总共写了%ld行代码!\n\n",total);
system("pause");
返回 0;
} |
|