我是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;
}
答案 0 :(得分:3)
以下是您需要注意的事项:
opendir()
,readdir()
等,当然包括while
语句用于实际迭代。fstat()
。fopen()
,fgetchar()
和fclose()
,包括如何使用if
识别行结束字符。这应该是您开始工作所需的工具,我建议您先查看这些工具然后尝试构建您的程序。 该程序的具体问题可以在其他问题中引起我们的注意。
请注意,上面给出的示例(特别是opendir
项目符号点中的示例)可能是特定于平台的。如果它们不可用,您需要为您的平台找到等价物,因为标准C不提供该功能。