• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:検索)

ファイルの読み込みとAND検索を行うプログラムの作成方法

このQ&Aのポイント
  • 検索プログラムにおいて、索引ファイルからデータを読み込み、キーワードを入力して検索する方法を考えます。
  • fgets()とstrtok()を利用することで、ファイルの読み込みとキーワードの区切りを行います。
  • キーワード入力は、空白で区切って複数入力可能にし、AND検索に対応させます。

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

  • ベストアンサー
  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.2

Web検索ってyahooとかの検索エンジンの事をいっているのですか? 基本的にはデータベースを使っています。 検索のアルゴリズムについては「BTree」で調べてください。 cgi(perl)で検索しているものは、おそらくハッシュを使っています。 (perlにはc++でいうmapにあたるものが最初から実装されている) 有名なnamazuはインデックスファイルを持っているようです。 http://www.namazu.org/ ソースコードが公開されています。 ただデータの量が少ないのなら上から順に検索していく シーケンシャルサーチで問題ないかと思います。 お見受けしたところTommy222は初心者のようですので、 とりあえずfgetsとstrtokを使ってファイルの内容を区切って 表示させるプログラムを作ってはどうですか。 表示できれば後は条件と一致するもののみ 表示にすればいいだけですから。 ・ファイルの読み込み http://www.kumei.ne.jp/c_lang/intro/no_18.htm ・strtok http://sometime.minidns.net/~ccgi/strtok.html 後はお調べください。

参考URL:
http://www.kumei.ne.jp/c_lang/intro/no_18.htm,http://sometime.minidns.net/~ccgi/strtok.html,http://www.google.co.jp

その他の回答 (1)

  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.1

まずC++なのかどうか 使っていいのならSTLのmapを使えば 良いでしょう。 http://www.kumei.ne.jp/c_lang/cpp/cpp_68.htm ・キーワード入力で、2つ以上入力された場合、どのように変数に格納すればよいでしょうか? C++が可能なら、vectorにで格納します。 http://www.kumei.ne.jp/c_lang/cpp/cpp_65.htm CでもLIST構造やハッシュを駆使すれば可能です。 >・ファイルの読み込みで、fgets()を使い、strtok()で区切るといいですか? スタイルによるのでなんともいえません。好きなものを使ってください。 ちなみにstrtokは内部で静的メモリを確保するので2つ同時に使うことはできません。

参考URL:
http://www.kumei.ne.jp/c_lang/cpp/cpp_68.htm,http://www.kumei.ne.jp/c_lang/cpp/cpp_65.htm
noname#13767
質問者

補足

すいません。説明不足でした。 C++ではありません。C言語です。 Web検索のプログラムってどうなっているんですか? インデックスファイルから検索しているのは知っています。 ファイルの読み込みから手こずっています。

関連するQ&A