|  | 
 
| 
在Dev-C++上打的,为什么从第八行开始就报错啊QAQ
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  
 #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) ;
 返回;
 }
 
 做
 }
 如果 (! 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;
 }
 
 
复制代码#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 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 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);
                        findAllCodes(thePath);
                        findALLDirs(thePath);
                }
        } while (_findnext(handle, &fa) == 0);
        _findclose(handle);
}
int main()
{
        char path[MAX] = ".";
        printf("计算中...\n");
        findAllCodes(path);
        findALLDirs(path);
        printf("目前你总共写了 %ld 行代码!\n\n", total);
        system("pause");
        return 0;
}
 | 
 |