灵木joker 发表于 2021-5-28 18:28:42

第一天上车的新手哭泣

#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 findALLCode(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 thePath;
       
       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=".";
       
        printf("计算中...\n");
       
        findALLCodes(path);
        findALLDirs(path);
       
        printf("目前你总共写了%d行代码!\n\n",total);
        system("pause");
       
        return 0;
}
小甲鱼带你学C带你飞的第一个程序代码S1E2,真的让第一天上车的超级小白我哭泣,这个错报的我都不知道怎么改,求大神们指点,小的磕头了{:5_99:}
F:\练习\Fish c\collect2.exe        ld returned 1 exit status
dev c++它没有说这是第几行第几列错了,让本菜鸟我无从下手改错【菜鸟哭泣】

灵木joker 发表于 2021-5-28 19:13:58

我真的是照着小甲鱼老师的代码超的,新手还没上路怎么就被迫抛锚了{:10_266:}

Py与C。。。 发表于 2021-5-28 19:49:46

本帖最后由 Py与C。。。 于 2021-5-28 20:10 编辑

他的意思是有一个相同程序在运行
把原来那个程序叉掉,重新运行一遍

zz学编程 发表于 2021-5-28 22:34:34

代码敲错了,你写的是void findALLCode(const char *path),下面void findALLDirs(const char *path)函数调用的是findALLCodes(thePath); 少了个s

云生不知何处 发表于 2021-5-28 23:38:50

灵木joker 发表于 2021-5-28 19:13
我真的是照着小甲鱼老师的代码超的,新手还没上路怎么就被迫抛锚了

基本上就是检查大小写,还有就是是不是中文符,我开始还在找文本对比软件

灵木joker 发表于 2021-5-30 12:50:18

真的有那种神奇的东西吗?阿,爱了爱了,我也去找找{:5_105:}

python初级学者 发表于 2021-5-31 22:54:45

{:10_256:} 怎么第一天就搞这么长的代码

连帅帅 发表于 2021-6-4 14:12:31

第一天不应该是hello world吗?基础理论知识学了吗?理论不学就敲代码,是一个愚蠢的做法。
提供文本对比网址,本人一直再用:https://www.jq22.com/textDifference
页: [1]
查看完整版本: 第一天上车的新手哭泣