• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:TCP/IP通信型電話番号検索プログラムを作りたいです。)

TCP/IP通信型電話番号検索プログラムを作りたい - 質問

このQ&Aのポイント
  • クライアントは修正不要、サーバ側プログラムを修正しなければなりません。サーバプログラムのソケット作成や受け付け、データ変換を実行します。
  • サーバ側プログラムでクライアントとの通信を確立し、受け取ったデータの大文字と小文字を変換して返します。
  • TCP/IP通信型電話番号検索プログラムを作成するために、サーバ側プログラムの修正が必要です。

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

  • ベストアンサー
  • koi1234
  • ベストアンサー率53% (1866/3459)
回答No.1

何を質問してるのかが分かりません 書いてあるソースのどの辺りを変えればいいかと聞いているのですか? それとも電話番号検索というのをどういう風にすればいいのかという質問ですか? もしくはそれ以外? 書いてあるソースも間違ってると思えるところがありますが 其処は置いといてあくまで基本ベースはあっている前提で話をします (そもそもこれ大文字・小文字変換になってないだろ と思いますが) 最初のなら >while((ret = read(fd2, buf, 1024)) > 0 ){ >fprintf(stderr, "read: &s\n", buf); >for(i=0; i<ret; i++) >if(islower(buf[i])) >buf[i] = toupper(buf[i]); >if(isupper(buf[i])) >buf[i] = tolower(buf[i]); の辺りになるでしょう 2番目なら そもそもどのようなデータ使って検索するのかなどの情報がないので 答えようがありません (入力がどうなっていて出力がどうなるのか検索元のデータはどうするの 等) 3番目なら 質問内容をを詳しく

pikayuki
質問者

お礼

確かに質問として、分かりづらいですね。すいません。おそらく、最初のものだと思われます。サーバは クライアントから送信されたユーザ名に対し、その名前に対する内線番号を探索して返します。電話番号録として、「~.txt」というファイルを使用しなければなりません。

pikayuki
質問者

補足

サーバは クライアントから送信されたユーザ名に対し、その名前に対する内線番号を探索して返します。電話番号録として、「~.txt」というファイルを使用しなければなりません。

その他の回答 (2)

  • koi1234
  • ベストアンサー率53% (1866/3459)
回答No.3

事前に書いときます そのつもりはありませんが酔いも入って 内容的にちょっときつい書き方してるも知れません >これが、ANo.1の方にも読んでいただけると、幸いです 見てはいますが補足に付いた内容では解決した問題だと判断して 静観してました 補足でも気になったのですが どうも質問者さん自体が自分が分かっていないところを分かっていない という状況のように見受けられます #2さんの回答はファイルから入力されたデータ。電話番号と比較するために このような配列で管理すれば? という実装案と思われます (違ったらごめんね っと) 単純にユーザ名と電話番号の組み合わせを会い列テーブルに 展開すれば出来るでしょう という意味だけだと思いますが (その配列の中身を比較することでユーザ名に該当する電話番号を取得できます) この段階でなぜ急にハッシュだとかいう話が出てくるのかが理解できません データベースでも使うのですか? 配列での基本変換が出来ないのにハッシュも何もないでしょう (学校化どこかの課題のようですし少なくても現状で) 全てのソースコードを書く気はさらさらないので 御自身でもう少しどこまでできて何が出来ないかを整理してみてはどうでしょうか? 多少なりとも自分でソース書いて試したうえでここが出来ないどうすれば という方がまだ答えがいがあります (どこかのソース丸写しで理解できないとか言われても自分で何やった鹿野が見えないので萎えますが)

  • phoenix343
  • ベストアンサー率15% (296/1946)
回答No.2

| クライアントから送信されたユーザ名に対し、その名前に対する内線番号を探索して返します。電話番号録として、「~.txt」というファイルを使用しなければなりません。 ユーザー名、電話番号を一組とした配列を作成してから 通信した方がいいかな 作成の仕方は以下のような感じかな? ※関数とかは適当ですよ。笑 std::map<std::string, std::string> denwalist; std::string linestr; open("~.txt"); while ( read(linestr) ) {  split(linestr, username, denwabango);  denwalist[username] = denwabango; } close();

pikayuki
質問者

お礼

返事が遅れてすみません。ご回答、ありがとうございます。これで実行してみます。自分のできる限りでがんばってみますが、もしものときは、ご迷惑をおかけするかもしれません。そのときは、よろしくお願いします。

pikayuki
質問者

補足

これが、ANo.1の方にも読んでいただけると、幸いです。ANo.2の人の回答がよく分からないのです。 電話番号のファイルを配列にしたりして検索することは分かります。ですが、やり方にもいくつかあると思われます。ハッシュ表を作成してみるのはどうでしょうか?しかし、これはTCP/IP通信でなければならないので、それに合わせて、ハッシュ表のプログラムを変えなければならないのでしょうか?

関連するQ&A