Re: Cの質問



[ このメッセージへの返事 ] [ 返事を書く ] [ home.html ]



投稿者: 68user @ ns.gunma-u.ac.jp on 98/1/31 06:27:19

In Reply to: Re: Cの質問

posted by movem.l d0-d7/a0-a5,-(sp) @ h010.p066.iij4u.or.jp on 98/1/31 00:38:13

> 無いようです。

無いようなので作りました。でもバグが
潜んでそうで怖い(^^;
# たった14行の関数なのにバグがないと断言できないのも
# なんだかなぁ…


>とりあえず、"man regexp"とか打ち込んでみては?

さっそくやってみると…、FreeBSDではregcomp()、
regexec()、regsub()ってのがありました。
 This interface is made obsolete by regex(3).
ってことで、regex(3)っていうのもありました。

Solarisでは man regexp がありましたが、全然別の
名前の関数なんですね。各OSが独自の実装をしてるわけですか。


> これは、私も欲しいです。(^^;)
> ソースコードで落ちていないかなぁ。

http://bahamut.mm.t.u-tokyo.ac.jp/~iwai/faqs/faq/comp.lang.c.faqj
によると

> 13.7: 正規表現とかワイルドカードを使った比較をするコードが
> 必要となった。
>
> 自由に配布していい人気のあるregexpパッケージとしてHenry Spencer
> の書いたものがある。これはcs.toronto.eduのpub/regexp.shar.Zや、
> その他のアーカイブから入手可能である。GNUプロジェクトはrxという
> 名前のパッケージを用意している。質問18.16も参照のこと。

とあり、確かに ftp://ftp.cs.toronto.edu/pub/regexp.shar.Z が
ありました。

でも落としてみると、regerror()って関数があるんですけど、
同名の関数がFreeBSDには標準で存在するので、うまくmakeでき
ませんでした。