得意的屁 发表于 2016-6-19 11:20:42

sle2 求指点报错英文啥意思 在C里面的意思 就行 我自己找错误

#include <stdio.h>
#include <unistd.h>
#include <dirent.h>
#include <string.h>
#include <stdlib.h>
#include <sys/stat.h>

#define MAX 256

long total;

int countLines(const char *filename);
int isCode(const char *filename);
void findAllDirs(const char *path);

int countLines(const char *path)
{
        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;
}

int isCode(const char *filename)
{
        int length;

        length = strlen(filename);

        if (!strcmp(filename + (length - 2), ".c"))
        {
                return 1;
        }
        else
        {
                return 0;
        }
}

void findAllDirs(count char *path)
{
        DIR *dp;
        struct dirent *entry;
        struct stat statbuf;
        int temp;

        if ((dp = opendir(path)) == NULL)
        {
                fprintf(stdrr, "The path %s is wrong!\n, path");
                return;
        }

        chdir(path);
        while ((entry = readdir(dp)) !=NULL)
        {
                lstat(entry->d_name, &statbuf);

                if (!strcmp(".", entry->d_name) || !strcmp("..", entry_>d_name))
                        continue;

                if (S_ISDIR(statbuf.st_mode))
                {
                        findAllDirs(entry->d_name);
                }
                else
                {
                        if (isCode(entry->d_name))
                        {
                                total += countLines(entry->d_name);
                        }
                }
        }

        chdir("..");
        closedir(dp);
}

int main()
{
        char path = ".";

        printf("计算中...\n");

        findAlldirs(path);

        printf("目前你总共写了 %1d 行代码! \n\n", total);

        return 0;
}

人造人 发表于 2016-6-19 13:22:32

你第16行抄错了

人造人 发表于 2016-6-19 13:24:06

第57行也抄错了

人造人 发表于 2016-6-19 13:25:24

第66行

人造人 发表于 2016-6-19 13:27:28

75行

屁哥 发表于 2016-6-19 13:29:24

人造人 发表于 2016-6-19 13:27
75行

追答:
1 小时前
能写出这样的代码感觉你技术还是不差,只是我对linux不怎么熟悉,没法看出哪里错了。不过建议你可以逐段测试。从helloworld开始不断增加头文件使用,看到底哪里出问题了。

百度上说我技术不错 其实他不知道来学C 的 第一节课回家都能写出这样的代码 只不过是 抄的 嘎嘎{:5_91:}

人造人 发表于 2016-6-19 13:30:05

66行

人造人 发表于 2016-6-19 13:33:04

101行

人造人 发表于 2016-6-19 13:36:20

103 行 是 ld(字母l, love的l) 不1d(数字1)

人造人 发表于 2016-6-19 13:45:22

人造人 发表于 2016-6-19 13:30
66行

这个重复了^_^

屁哥 发表于 2016-6-19 14:08:39

人造人 发表于 2016-6-19 13:27
75行

你好 我想请教一下怎样修改文件名
:w+文件名——文件另存为
:w!+文件名——覆盖原文件
(               )————修改文件名   我想修改文件名

屁哥 发表于 2016-6-19 14:18:35

人造人 发表于 2016-6-19 13:22
你第16行抄错了

16 抄窜行了

屁哥 发表于 2016-6-19 14:20:08

人造人 发表于 2016-6-19 13:24
第57行也抄错了

const 写成cunst了

屁哥 发表于 2016-6-19 14:27:51

人造人 发表于 2016-6-19 13:27
75行

这几行都找了还是有报错   我再找找实在不行 还得请师兄出马

屁哥 发表于 2016-6-19 14:30:03

屁哥 发表于 2016-6-19 14:27
这几行都找了还是有报错   我再找找实在不行 还得请师兄出马

差 101103唉咋表示感谢呢 晚上请你吃饭吧 {:5_91:}

屁哥 发表于 2016-6-19 14:35:31

人造人 发表于 2016-6-19 13:45
这个重复了^_^

这还是眼睛么 神了   

人造人 发表于 2016-6-19 19:12:53

屁哥 发表于 2016-6-19 14:08
你好 我想请教一下怎样修改文件名
:w+文件名——文件另存为
:w!+文件名——覆盖原文件


你的意思是修改Linux下的文件名(重命名)吗?
$ls
test.c
$mv test.c tmp.c
$ls
tmp.c

屁哥 发表于 2016-6-20 08:35:26

人造人 发表于 2016-6-19 19:12
你的意思是修改Linux下的文件名(重命名)吗?
$ls
test.c


haode 好的我试试谢谢

屁哥 发表于 2016-6-20 09:05:29

人造人 发表于 2016-6-19 19:12
你的意思是修改Linux下的文件名(重命名)吗?
$ls
test.c


师兄早上好 祝师兄 今天工作顺利 买彩票中大奖

屁哥 发表于 2016-6-20 09:07:07

人造人 发表于 2016-6-19 19:12
你的意思是修改Linux下的文件名(重命名)吗?
$ls
test.c


我想问个问题 / 和不加 /意思 都能进入下一步 有区别没
页: [1] 2
查看完整版本: sle2 求指点报错英文啥意思 在C里面的意思 就行 我自己找错误