ふつうのLinuxプログラミング 第8章 grepコマンドを作る
いよいよやってきました!!「grepコマンドを作る」!!自分で正規表現ライブラリなんか書いたら・・・いつまでかかるか・・・お手軽libcを使って書いていきます。
前に作ったheadコマンドを修正してっと。make debug!!
(gdb) r "[grep]{4,}" grep.c Starting program: /home/tanaka/study/c/normal/grep/grep "[grep]{4,}" grep.c #include <regex.h> #define PROGRAM_NAME "grep" void grep(regex_t *pat, FILE *f); regex_t pat; regerror(err, &pat, buf, sizeof buf); grep(&pat, stdin); grep(&pat, f); void grep(regex_t *pat, FILE *f) if (regexec(pat, buf, 0,NULL,0) == 0) perror(s); Program exited normally. (gdb)
うほぉ!!自作grep!!こんなに簡単に出来るとは・・・(libcのおかげ)
一度セグメンテーションフォルトが出たので、何処でエラーが出たかすぐ判るgdbの威力は絶大です。(iと1を間違えた)
何故か、regexまで引っかかってます!!あぁ、r・e・g・e。確かに・・・。
- メモ
- libcのregex.hは多バイトには対応していないようなので、注意が必要と。鬼車をチェック。
- 鬼車
どうやら、Rubyにも搭載(予定?)されているらしい。さすが青木さん・・・。