MaisuE 2021-08-17 01:34 采纳率: 100%
浏览 30
已结题

关于#c语言#的问题,请各位专家解答!

img

img
#Dve-C++##include<io.h>
#include<direct.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

#define MAX 256

long total;

int countLines(const char filename);
void findAllCodes(const char
path)
void findALLFiles(const char*path);

int countLines(const charfilename)
{
FILE
fp;
int count=0;
int temp;

if((fp=fopen(filename,"r")) ==NULL)
{
fprintf(stderr,"Can not open the file:%s\n",filename);
return 0;
}

while((temp=fgetc(fp))!=EOF)
{
if(temp=='\n')
{
count++;

    }

}
fclose(fp);

return count;

}

void findAllCodes(const char*path)
{
struct_finddata_t fa;
long handle;
char thePath[MAX],target[MAX];

   strcpy(thePath,path);
   if((handle=_findfirst(strcat(thePath,"/*.c"),&fa))!=-1L)
   {
       do
       {
           sprintf(target,"%s/%s",path,fa.name);
           total += countLines(target);
       }while(_findnext(handle,&fa)==0);
    }

    _findclose(handle);

}

void findALLDirs(const char*path)
{
struct_finddata_t fa;
long handle;
char thePath[MAX];

   strcpy(thePath,path);
   if((handle=_findfirst(strcat(thePath,"/*"),&fa))==-1L)
   {
   fprintf(stderr,"The path %s is wrong!\n",path);
   return;
   }
   
   do
   {
       if(!strcmp(fa.name,".")||!strcmp(fa.name,".."))
         continue;
         
         if(fa.attrib ==_A_SUBDIR)
         {
              sprintf(thePath,"%s/%s",path,fa.name);
              findAllCode(thePath);
              findALLDirs(thePath);
         }
   }while(_findnext(handle,&fa)==0);
   
   _findclose(handle);

}

int main()
{
char path[MAX]=".";

  printf("计算中...\n");
  
  finAllCodes(path);
  findALLDirs(path);
  
  printf("目前你总共写了%ld行代码!\n\n",total);
  system("pause");
  
  return 0;

}

  • 写回答

1条回答 默认 最新

  • StjpStjp 2021-08-17 11:50
    关注

    stay(num) 说明有中文的游动(可能是空格)
    建议这行重新打
    后面括号大括号有少的(代码太乱了,也太难找了)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月25日
  • 已采纳回答 8月17日
  • 创建了问题 8月17日

悬赏问题

  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分