|  | 
 
2鱼币 
| #include <io.h>
 #include <direct.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 
 #定义MAX 256
 
 总长
 
 int countLines(const char *文件名);
 void findAllCodes(const char * path);
 void findALLFiles(const char * path);
 
 int countLines(const char *文件名)
 {
 文件* fp;
 int count = 0;
 温度
 
 如果((fp = fopen(文件名,“ r”))== NULL)
 {
 fprintf(stderr,“无法打开文件:%s \ n”,文件名);
 返回0;
 }
 
 而((temp = fgetc(fp))!= EOF)
 {
 如果(temp =='\ n')
 {
 数++;
 }
 }
 
 fclose(fp);
 
 返回计数;
 }
 
 无效findAllCodes(const char * path)
 {
 struct _finddata_t fa;
 长柄
 char thePath [MAX],target [MAX];
 
 strcpy(thePath,path);
 if((句柄= _findfirst(strcat(thePath,“ /*.c”),&fa))!= -1L)
 {
 做
 {
 sprintf(target,“%s /%s”,path,fa.name);
 总数+ = countLines(目标);
 }同时(_findnext(handle,&fa)== 0);
 }
 
 _findclose(handle);
 }
 
 无效findALLDirs(const char * path)
 {
 struct _finddata_t fa;
 长柄
 char thePath [MAX];
 
 strcpy(thePath,path);
 if((句柄= _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);
 }
 }同时(_findnext(handle,&fa)== 0);
 
 _findclose(handle);
 }
 
 int main()
 {
 char path [MAX] =“。”;
 
 printf(“计算中... \ n”);
 
 findAllCodes(path);
 findALLDirs(path);
 
 printf(“目前你总共写了%ld行代码!\ n \ n”,总计);
 系统(“暂停”);
 
 返回0;
 }
 
把你的自动翻译软件关了   | 
 |