QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2056|回复: 14

怎么统计源代码有多少行?

[复制链接]
发表于 2003-7-8 22:18:15 | 显示全部楼层 |阅读模式
又没有现成的软件?

还有一问,如何知道某个目录里面的文件列表?
发表于 2003-7-8 23:13:52 | 显示全部楼层
wc

ls -l
回复

使用道具 举报

发表于 2003-7-8 23:22:05 | 显示全部楼层
cat xxx.c | wc -l
回复

使用道具 举报

发表于 2003-7-9 01:41:31 | 显示全部楼层
wc directly, need not cat. although the result is the same.
回复

使用道具 举报

发表于 2003-7-9 11:47:06 | 显示全部楼层
ll
回复

使用道具 举报

 楼主| 发表于 2003-7-9 13:32:19 | 显示全部楼层
第二个问题呢?
回复

使用道具 举报

发表于 2003-7-9 15:11:10 | 显示全部楼层
但有时一个文件里会有n行的注释,特别是用Kdevelop生成的,每个文件前面都有不少注释,要是连注释都统计进来,那n万行代码岂不是很轻松就写出来了?   
回复

使用道具 举报

发表于 2003-7-9 16:34:08 | 显示全部楼层
[code:1]
/*
* 这个程序从命令行参数要求的文件读取数据,输出到用户输入的
* 一个文件名的文件中,要求把原始文件中用“//”开头的行全部
* 删除。
* */

#include <stdio.h>

main(int argc, char *argv[])
{
        char ch, tarfn[50], str[1024];
        FILE *fp1, *fp2;
        int i;

        if ((fp1=fopen(argv[1],"r"))==NULL)
        {
                printf("读取指定的源文件出错。\n");
                exit(0);
        }
        printf("源文件打开成功。\n请输入目标文件名:");
        scanf("%s",&tarfn);
        if ((fp2=fopen(tarfn,"w"))==NULL)
        {
                printf("初始化指定的目标文件出错。\n");
                exit(0);
        }
        while((fgets(str,1024,fp1))!=NULL)
        {
                if ((str[0]=='/') && (str[1]=='/'))
                        continue;
                fputs(str,fp2);
        }
        printf("新文件成功写入。\n");
}
[/code:1]
回复

使用道具 举报

 楼主| 发表于 2003-7-9 19:54:00 | 显示全部楼层
谢谢,楼上两位,明白了。

> 第二个问题呢?
回复

使用道具 举报

发表于 2003-7-9 21:27:25 | 显示全部楼层
/root/.bashrc:alias ll='ls -l --color=tty'

so ll is not a command. it is only an alias


comments is also important.
回复

使用道具 举报

发表于 2003-7-9 23:30:45 | 显示全部楼层
第二个问题没有看懂是什么意思
回复

使用道具 举报

发表于 2003-7-10 14:31:57 | 显示全部楼层
第二个问题好象是,编程得到一个目录里的内容列表~
回复

使用道具 举报

 楼主| 发表于 2003-7-10 18:51:45 | 显示全部楼层
没错。我就是想写这样一个程序,统计某个目录所有.h .cpp源代码行数
回复

使用道具 举报

发表于 2003-7-10 21:05:46 | 显示全部楼层
this is a perl code to compute all file lines. change it to get c and h only
[code:1]
#!/usr/bin/perl -w
use strict;

my $dir = ".";
opendir DH, $dir or die "Cannot open $dir: $!";
foreach my $file (readdir DH) {
        next if $file =~ /^\./;
        print "$file: ";
        system("wc -l $file");
}
closedir DH;
[/code:1]
回复

使用道具 举报

发表于 2003-7-20 05:34:20 | 显示全部楼层
用C的话,用opendir()、readdir()。
可以man 3 opendir、man 3 readdir自己看看。
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-15 12:02 , Processed in 0.037305 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

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