鱼C论坛

 找回密码
 立即注册
查看: 2106|回复: 7

大佬们,救救孩子吧!

[复制链接]
发表于 2020-2-20 11:40:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 磊霸霸 于 2020-2-20 11:57 编辑

未命名1.cpp:(text+ 0x2c8): undefined reference to 'findAllCodes(char const*)'
未命名1.cpp:(.text+ 0x361): undefined reference to 'findAlICodes(char const*)'
[Error] Id returned 1 exit status
有没有大佬解释 解释这是什么意思啊,快哭了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-20 11:42:24 | 显示全部楼层
图片没发上来。

给你个图床链接:https://imgchr.com/
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-20 11:50:53 | 显示全部楼层
zltzlt 发表于 2020-2-20 11:42
图片没发上来。

给你个图床链接:https://imgchr.com/

未命名1.cpp:(text+ 0x2c8): undefined reference to 'findAllCodes(char const*)'
未命名1.cpp:(.text+ 0x361): undefined reference to 'findAlICodes(char const*)'
[Error] Id returned 1 exit status
就这些什么意思啊初学者 改完错误后这个信息 我看不懂QAQ
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-2-20 13:52:29 | 显示全部楼层
找不到Allcodes定义的函数,你是不是这几个字母打错了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-20 19:07:31 | 显示全部楼层
把代码贴出来吧,只有一个报错信息,谁知道是哪儿出问题了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-21 11:16:12 | 显示全部楼层
chxchxkkk 发表于 2020-2-20 19:07
把代码贴出来吧,只有一个报错信息,谁知道是哪儿出问题了

#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", 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;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-21 20:14:42 | 显示全部楼层
void findALLCodes(const char *path) 的函数名需要修改成void findAllCodes(const char *path), LL需要小写ll
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-21 23:04:11 | 显示全部楼层
错误是函数名未定义
你函数定义和调用的名字不匹配啊。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-15 22:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表