感謝大佬!
本帖最后由 VI天帝IV 于 2020-7-17 21:44 编辑
第一个代码中57、79行findALLDirs,LL没大写报错了
还有这个1.c:(.text+0x13b): undefined reference to `lstat'
ld returned 1 exit status
应该是第72行,不知道为什么求解
https://shitu-query-bj.bj.bcebos.com/2020-07-17/21/da07bad4afe0668f?authorization=bce-auth-v1%2F7e22d8caf5af46cc9310f1e3021709f3%2F2020-07-17T21%3A37%3A06Z%2F300%2Fhost%2F9e155a514e66f3e64ef2ddc61aeebc4119e565d255d5a95dbb8fc0de28ab31a7
忘了看了这不是windows的,抱歉抱歉
为啥我码出来只有“计算中。。”啊啊啊啊啊啊啊
{:5_100:}
{:10_254:}抄完了
看看答案
11111
看看答案
1
kankan
1
查看参考答案
1
看看
看
ganxie
#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, 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("目前你总共写了 %ld 行代码!\n\n", total);
system("pause");
return 0;
}
回复?
.
252
flyyyyyyyyyyyyyyyyy