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

关于#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 slaris 系统断电后,重新开机后一直自动重启
  • ¥15 QTableWidget重绘程序崩溃
  • ¥15 51寻迹小车定点寻迹
  • ¥15 谁能帮我看看这拒稿理由啥意思啊阿啊
  • ¥15 关于vue2中methods使用call修改this指向的问题
  • ¥15 idea自动补全键位冲突
  • ¥15 请教一下写代码,代码好难
  • ¥15 iis10中如何阻止别人网站重定向到我的网站
  • ¥15 滑块验证码移动速度不一致问题
  • ¥15 Utunbu中vscode下cern root工作台中写的程序root的头文件无法包含