C语言解析文件的详细信息

时间:2016-06-17 04:50:39

标签: c list parsing detail

我是C的初学者。

我想解析目录下的所有源代码(例如*.c*.h)。

我想知道文件名,大小,来源中的行数。

搜索之后,我可以解析一个文件的细节(以获取源中有多少行)。我也可以使用system()来了解目录中的大小和文件名,或文件列表(没有大小)。

但我不知道如何将所有这些组合成一个程序,所以我正在寻找相关的指导。

全部谢谢!

下面的

是我现在的代码

不知道下一步..

int main (void){

    DIR *dp;
    FILE *fp;
    struct dirent *ep;


    dp = opendir ("./");
    fp = fopen ("output.txt", "w");
    if (dp != NULL)
    {
            while (ep = readdir (dp))

            fprintf(fp,"%s\n", ep->d_name);

            (void) closedir (dp);
    }
    else
    perror ("Couldn't open the directory");

    return 0;

}

1 个答案:

答案 0 :(得分:3)

以下是您需要注意的事项:

  • 如何迭代文件名,例如使用opendir()readdir()等,当然包括while语句用于实际迭代。
  • 如何获取文件详细信息,例如使用fstat()
  • 如何打开和阅读文件,例如fopen()fgetchar()fclose(),包括如何使用if识别行结束字符。

这应该是您开始工作所需的工具,我建议您先查看这些工具然后尝试构建您的程序。 该程序的具体问题可以在其他问题中引起我们的注意。

请注意,上面给出的示例(特别是opendir项目符号点中的示例)可能是特定于平台的。如果它们不可用,您需要为您的平台找到等价物,因为标准C不提供该功能。

相关问题