正则表达式查找特定函数类型的函数(C语言)

比如在一个文本文件中,有一个函数声明doublesqrt();一个函数定义doublesqrt(x);一个函数调用sqrt(x)当然对我来说,我最想找到的函数定义(定义比... 比如在一个文本文件中,

一个函数声明double sqrt();
一个函数定义double sqrt(x);
一个函数调用sqrt(x)

当然对我来说,我最想找到的函数定义(定义比声明多了参数,定义比调用多了函数返回类型)
我想问一下在我知道函数名的情况如何搜索函数的定义。
我大概想了一下用正则表达式,但是表达式不太会写。望指教。

我的思路是:
某干种常见的类型 函数名(变量名非空)
这种模式进行搜索。
是在Linux下VI编辑器或
grep中查找。

***********
我只想搜出函数定义那一行!!!!!!!

函数声明中忽略所有的参数,
函数定义时,参数的类型放在()与{}中间,
函数调用时,肯定不会写返回类型。
比如
我写了一个浮点数开根号的代码。它的定义:
double sqrt(x)
double x
{
....
return **
}

函数声明时,只用double sqrt()
函数调用时,一般是x2=sqrt(x)

======
我只想搜出函数定义那一行!!!!!!!
即:double sqrt(x)
当然函数名我是已知的。就是写一个正则表达式,来区分定义,声明,调用。

是否满意,三楼至少是150分。
展开
 我来答
百度网友39d9835
2009-11-15 · TA获得超过615个赞
知道小有建树答主
回答量:573
采纳率:0%
帮助的人:743万
展开全部
函数定义double sqrt(x)
double x
{
....
return **
}

函数声明时,只用double sqrt()
函数调用时,一般是x2=sqrt(x)
函数调用时,一般是x2 = sqrt(x)

函数定义double sqrt (x)
函数定义double sqrt( x )
函数定义double sqrt( x2 )
函数定义double sqrt( _x )
函数定义double sqrt( x_ )
函数定义double sqrt( x_y )
函数定义double sqrt( _x, y )
函数定义double sqrt ( xy )
函数定义double sqrt( xy )

你的函数都有形参的么

egrep -in '[[:alpha:]]+[[:space:]]+sqrt[[:space:]]*\([[:space:]]*.*[[:alpha:]]+.*[[:space:]]*\)'

考虑了以上几种情形,包括制表符,都符合条件,你看还有什么情形遗漏,可以自行补充一下,共匹配10个结果
lisonriben
2009-11-12 · TA获得超过704个赞
知道小有建树答主
回答量:1233
采纳率:0%
帮助的人:414万
展开全部
http://www.dotnet2themax.com/blogs/fbalena/PermaLink,guid,13bce26d-7755-441e-92b3-1eb5f9e859f9.aspx
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0974edce8
2009-11-12 · TA获得超过490个赞
知道小有建树答主
回答量:381
采纳率:0%
帮助的人:252万
展开全部
选择函数,右键 GO TO XXX(函数) DEFINATION 或者中文为,转到 XXX(函数)定义(参考)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式