• 締切済み

ネットワーク型データベースの構築

C言語でネットワーク型のデータベースの構築を行っています。 そこで、住所録のデータベースなどで、『氏名 住所 電話番号』をfscanfで読み込みこんでみたのですが巧くいきません。 他の方法で巧くいくやり方があれば教えてください。 何を言っているのか分かりにくいかも知れませんがどうか宜しくお願い致します。

みんなの回答

noname#182251
noname#182251
回答No.3

rariho555さんのやろうとしていることが 1.住所録のデータベースを作りたい 2.C言語の学習中、参考書に書いてあった例題を解決したい のどちらであるか良く判りませんが、1.ならば改めてDBMSの利用を検討するべきでしょう。当然ながらそのための学習も必要になります。 しかしどちらかというと2.であるような気が。それならばカテゴリをC&C++にされて再質問した方が、速く解決すると思います。

  • root139
  • ベストアンサー率60% (488/809)
回答No.2

#1の方の選択肢に加えて、補足してもらえますでしょうか。 3. ネットワーク型のDBMSそのものを作る。 4. 既存のネットワーク型DBMSを使ってアプリケーションを作る。 ネットワーク型データベースに関しては、参考URLの説明のものと考えてよろしいでしょうか?

参考URL:
http://www.oracle.co.jp/2shin/ora75/16_17.html
rariho555
質問者

補足

すみません。勉強不足でよく分からないのですが、データベースを作るというか、emacsで、『クライアントとサーバのプログラムを作り、名前、住所、電話番号を属性としたレコードをサーバがファイルとして管理する。クライアントはサーバに接続し、データベースに対する問い合わせ要求を行う。サーバは問い合わせの要求を処理し、その結果を応答データとして返信する。』 という感じなんです。 そこで、データベースの読み込み段階が上手くいかないので、質問させていただきました。 説明からして良く分からないかも知れませんが、よろしくお願い致します。

noname#182251
noname#182251
回答No.1

質問が良く判りませんが 1.ネットワーク上にあるデータベース(オラクル、SQL etc.)をCから読み書きする 2.ネットワークでファイル共有を行いデータベース的に利用する どちらでしょうか?

rariho555
質問者

補足

すみません。やっぱりわかりませんでしたよね。 プログラムファイルとは別にデータベースのファイルを作り、それをfopenを使って読むって感じです。 こんな説明でいいでしょうか。。。 そのデータベースファイルには「名前;住所;電話番号」という風に書いてあるんです。 それで、名前なら名前だけを表示させたりしたいのですが上手く行きません。以下のような感じで作ってみたのですが・・・ fp=fopen("jyusyo.database","r"); fscanf(fp,%d",&num_data); for(i=0;i<num_data;i++){ j=0; while(1){ fscanf(fp,"%c",&tmp[i][j]); if(strcmp(&tmp[i][j],"\n"==0){ break; }else{ j++; } printf("%s\n",tmp[i]); } 他のやり方でもいい方法があれば教えてください!! よろしくお願い致します。

関連するQ&A