• 締切済み

c言語でのデータベース設計

c言語でアドレス帳のデータベースを設計しています。 find関数で名前の読みで条件に当てはまるデータを検索できる仕様です。UNIXのワイルドカードにある"[]"([文字列]に含まれるどれか1文字)でも検索できるようにしたいのですが、どのように設計したらいいのかわからないので、わかる方いらっしゃいましたら教えてください。 ワイルドカード"?"の設計例 if(cp[x]=='?') { if(adp->r_name[y]=='\0'){ /* adp->r_name 関数名 */ flag=1; break; } if(adp->r_name[y]=='\n'){ flag=1; break; } }

みんなの回答

  • xcode_15
  • ベストアンサー率18% (19/102)
回答No.2

もし、UNIXなどのOS上で動かしているのなら、 「SQLライブラリを扱うためのC言語インタフェース」を使うのも、一案かと思います。(http://tria.s31.xrea.com/sqlite/c_interface.html) そうではなく、一から自力で作りたいのなら、正規表現を使ったプログラムにするか、strcmp関数を使って再帰的に呼び出す事になるでしょう。

参考URL:
http://tria.s31.xrea.com/sqlite/c_interface.html
  • wolf03
  • ベストアンサー率22% (241/1086)
回答No.1

正規表現のライブラリを探す方が早いのでは? 標準ライブラリではない物は使うなと言う事であれば別ですが。

関連するQ&A