|
|
发表于 2022-3-10 15:28:38
|
显示全部楼层
#include <io.h>
#include <直接>
#include <stdio.h>
#include <stdlib.h>
#include <字符串>
#define 最大 256
长总计;
int countlines (const char *filename);
void findAllCodes (const char *path);
void findALLFiles (const char *path);
int countLines (const char *filename)
{
文件 *fp;
整数计数 = 0;
int temp;
if ( (fp = fopen (filename, "r") ) == NULL
{
fprintf (stderr, "无法打开文件: %s\n", 文件名) ;
返回 0;
}
while ( (temp = fgetc (fp) ) ! = EOF)
{
if (temp == '\n' )
{
计数++;
}
}
fclose (fp) ;
返回计数;
}
void findAllCodes (const char *path)
{
结构_finddata_t法;
长柄;
char thePath[MAX], target[MAX];
strcpy (thePath, path) ;
if (handle = _findfirst (strcat (thePath, "/*.c") , &fa) ) ! = -1L
{
做
{
sprintf (target, "%s/%s", path, fa.name) ;
总计 += 计数线 (目标) ;
}while (_findnext (handle, &fa) == 0) ;
}
_findclose (手柄) ;
}
void findALLDirs (const char *path)
{
结构_finddata_t法;
长柄;
char thePath[MAX];
strcpy (thePath, path) ;
if ( (handle = _findfirst (strcat (thepath, "/*") , %fa) ) == -1L)
{
fprintf (stderr, "The path %s is error! \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 (手柄) ;
}
int main ()
{
char path[MAX] = ".";
printf ("计算中...\n") ;
findAllCodes (path) ;
findALLDirs (path) ;
printf ("目前你总共写了 %1d 行代码! \n\n", total);
系统 ("暂停") ;
返回 0;
} |
|