eErrorT ChainCtrlInitChains(ChainCtrlT* pChainCtrl,
char* name,
int instance)
{
....
}
eErrorT ChainCtrlInit(ChainCtrlT* pChainCtrl, void* pOwner)
{
....
}
マイコード
open(my $FILE, "< a.c") or die $!;
my @arr = <$FILE>;
foreach(@arr){
if ($_ =~ /^ \S+ \s+ \S+ \s* \( (.+?) \) /xsmg) {
my $arg = $1;
my @arr = map /(\w+)$/, split /\W*?,\W*/, $arg;
print my @temp = map "$_\n", @arr
unless $_ =~ /;\s*$/;
}
}
基本的に、関数定義から関数引数を抽出しています。
ただし、この場合、2 番目の関数 (ChainCtrlInit) の引数のみを抽出でき、1 番目の関数 (ChainCtrlinitchains) の引数は抽出できません。
望ましい出力
pChainCtrl
name
instance
pChainCtrl
pOwner
私が得ている出力
pChainCtrl
pOwner