gpt4 book ai didi

c - 如何计算函数中的行数

转载 作者:行者123 更新时间:2023-11-30 18:58:47 26 4
gpt4 key购买 nike

我需要计算文件中函数的行数。我有以下输入。

输入:

  • 文件名,
  • 函数名称

所需输出:

  • 函数中的行数

示例:

int main()
{
line1;
line2;
line3;
}
int func()
{
line1
line2
line3
line4
line5
if(---) //line 6
{ //line 7
line 8
line 9
} //line10
}

如果我们将文件名和函数名传递为“func”,上面的示例应该返回 10

请建议一些方法来做到这一点......

最佳答案

  1. 代码有严格的格式,INDENT你的源文件

    indent -kr -bap -nce -i8 -ts8 -sob -l80 -ss -bs -npsl -bl -bli0 file.c

  2. awk + ​​substr($0,1,1) 匹配“{”和“}”

        awk -F"," '{
    if( index(v_func,$0)<10 )
    {
    findfunc=1;
    }

    if( findfunc == 1)
    {
    if( substr($0,1,1) == "{" )
    {
    lineCnt=0;
    }
    else if(substr($0,1,1) == "}" )
    {
    print lineCnt;
    }
    else
    {
    lineCnt = lineCnt+1;
    }
    } }' v_func=$2 $1

关于c - 如何计算函数中的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14995266/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com