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 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料