• ベストアンサー

ライブラリ関数strpbrkの仕組みが知りたい

ライブラリ関数strpbrkの仕組みが知りたいです。 どのような処理が行われているのかソースプログラムで確認したいので自作したことがある、もしく はすぐに作れるという方がいらっしゃれば教えてください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#208507
noname#208507
回答No.3

> このサイトの検索方法を教えていただけないでしょうか? 私は元々 glibc の存在を知っていたので、glibc のホームページから順にリンクを辿りました。 1. http://www.gnu.org/software/libc/ のページ上部の「Download」をクリック 2. ページ下部の「Git Repository」の下の[gitweb]  ちなみにgitはバージョン管理システムの名前です。 3. ページ上部の「tree」   glibcのソースがツリー構造で表示されます。 4. ページ下部の「string」  ディレクトリがおおむねヘッダファイルに準じて分類されており、  strpbrk関数はヘッダファイル string.h に宣言されているので、  たぶんここだろうとあたりをつけて。 そして strpbrk.c にたどり着きました。

その他の回答 (2)

回答No.2

URLを見てあて感でいけると思いますが。 例えば、strstrならstring.hに入っているはずなので http://sourceware.org/git/?p=glibc.git;a=blob_plain;f=string/strstr.c;hb=HEAD これはココらへんから探検するとlibcの探検ができるでしょう。 http://sourceware.org/git/?p=glibc.git;a=tree ついでに、FreeBSDのstrpbrkの実装 http://www.freebsd.org/cgi/cvsweb.cgi/~checkout~/src/lib/libc/string/strpbrk.c?rev=1.7 こっちはココらへんから探検するとlibcまわりのコードが見つかります。 http://www.freebsd.org/cgi/cvsweb.cgi/~checkout~/src/lib/libc/ C言語の標準的な関数だったらその.hファイル名のディレクトリーを探すとありそうです。 例えば、文字列操作に関する関数はstringの下に入っているのが普通ですね。atoiならstdlib.hだからstdlibなど。 あるいは、ソースコードを手元にダウンロードしてfind & grepというのもお手軽に探しものをする手ではあると思います。

noname#208507
noname#208507
回答No.1

GNU C Libraryでのstrpbrk関数の実装が下記のサイトから確認できます。 http://sourceware.org/git/?p=glibc.git;a=blob_plain;f=string/strpbrk.c;hb=HEAD コードは短いですが、当然GPLなので参考にされる場合はご注意を。 glibcのホームページは http://www.gnu.org/software/libc/

butamushi
質問者

お礼

回答ありがとうございます。 非常に助かりました。 実はほかのライブラリも内部の構造を知りたいものがいくつかあるので、このサイトの検索方法を教えていただけないでしょうか?