夜幕_UUW39 发表于 2019-3-25 04:48:01

帮忙找下66为什么错误 菜鸟


#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 findA11Codes(const char *path);
void findALLFiles(const char *path);

int countLines(const char *filename)
{
             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 findA11Codes(const char *path)
{
             struct _finddata_t fa;
             long handle;
             char thepath, target;
             
             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 tahepath;
          
          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);
                             findA11Codes(thepath);
                             findALLDirs(thepath);
                   }
          }while (_findnext(handle,&fa) == 0);
       
          _findclose(handle);
}
       
int main()       
{
              char path = ".";
             
              printf("计算中。。。\n");
             
              findA11Codes(path);
              findALLDirs(path);
             
              printf("目前你总共写了 %1d 行代码! \n\n", total);
              system("pause");
             
              return 0;
}       

wp231957 发表于 2019-3-25 08:51:15

这代码太老了吧    #include <io.h>   还有什么 dos.h bios.h 啥的早都废弃了

因泄露国家机密 发表于 2019-3-25 08:52:53

这个是第几节课后作业来着?你编译器编译运行显示错误的地方找找。可能是那一行,也可能在上下找找错。
注意代码的大小写,语句有没有错,或者是漏了。多检查试试。

夜幕_UUW39 发表于 2019-3-26 02:27:41

因泄露国家机密 发表于 2019-3-25 08:52
这个是第几节课后作业来着?你编译器编译运行显示错误的地方找找。可能是那一行,也可能在上下找找错。
注 ...

第一次接触这个这个是第一课的内容看不懂什么意思

带上面具的孩纸 发表于 2019-3-26 16:32:35

这个好像是第一课的抄写
页: [1]
查看完整版本: 帮忙找下66为什么错误 菜鸟