• 締切済み

PG全くの初心者が、C言語での作成に取りかかりますので助言を御願いします。

Router & SwitchのIP Address(host名)リストが text fileで保存されています。(50~60件)*DNSやhostsFileではありません。 そのText Fileの対象へ Telnet し " show tech-support" を 世代別にtext 保存する。それをcronでまわす。これを自動化にします。 つまり概略はこうなります。↓ 1, 対象リストtext fileの一行目のIP Address(host名)を 読み込む。 2, そいつをtelnetする。→timeoutで二行目に移る。 3, プロンプトが帰って来たら、loginする。 4, プロンプトが帰って来たら、"show clock"と " show tech-support"を打ち込む。 5, Host名と取得日時のファイル名で、Host名のディレクトリ  にtext保存。 6, 対象リストtextの最後まで繰り返す。 環境は詳しい人間に聞くと整っています。 ただ、私のskillが足りないのです、一か月で仕上げます。 初心者用のC言語解説書を購入したところです。 必要になってくる、 1, 指定txt fileの一行目を読め。 2, telnetしろ。timeoutは飛ばせ。 3, プロンプトが帰って来たら用意されているコマンドを 打ち込め。(連続的な動作) 4, 表示されたものをtxt化、file名は、指定txtファイルのHost名 と取得日時で指定ディレクトリで保存。 5, 指定txt fileの最後まで繰り返せ。 以上が私が考えられる、関数に関連してくるものだと 思われます。 これ以外に必要なものがたくさんあると思ってもおります。 勉強していきますが、end lineがありますので、完成に向けてショートカットした情報、助言をお願いしたいのです。 絶対的に必要な関数、メイン関数をピックアップしてくださればありがたいです。 補足が必要でしたら、その旨も書き込んでいただきたいです。 SunOS,vi,gcc perlやshellは考えてません。

みんなの回答

  • rentahero
  • ベストアンサー率53% (182/342)
回答No.3

んで、連休終わりましたけど、どこまでできましたか? もしこの質問で継続するのであれば、補足をください。 1.方針はC/C++のみでいくので変わっていませんか。 1a.変わったのであれば、どのようにすることにしたのか教えてください。 2.どのようにプログラムするかのメドはたちましたか。 もうどうでもいいということであれば、質問を締め切ってください。私の回答履歴を見てもらえば良いですけど、いったんかかわった以上ほったらかしにはしません。途中で締め切られたらどうしようもないですけど。

  • terra5
  • ベストアンサー率34% (574/1662)
回答No.2

私も初心者がCで一ヶ月ではまず無理だろうと思います。 特にtelnetとtimeoutのあたりが実現難しいんじゃないかと。 特にtelnetがどう動作しているかとか、TCPのによるネットワークプログラムの知識がいりますね。 あと、実用的なプログラムを作るなら、はっきりとかかれていないことを読み取るというか、自分で補う必要もありますし、エラー処理についてもいろいろと考えてやらないと困りますし。 一応自分が作るとして使うだろうとぱっと思いついた関数挙げてみますが。 fopen,fclose,fgets,fprintf, socket,bind,connect,send,recv,select,gethostbyname, time,localtime, strcmp ってとこかな。何かまだ足らないのもあるかも知れませんが。 誰か指導してくれる人でもいればまだ可能かも知れませんが。 助言としてはその場で質問、相談できる人を確保でしょうかね。でも、大変そうだから断られるかも。 私は一応プログラマで、新人にCを教えたりしたこともあります。 まあ、そういう無茶な経験は無いので(^^;;

juicylovin
質問者

補足

>私も初心者がCで一ヶ月ではまず無理だろうと思います。 そうですかでも、完全な完成は難しいかもしれませんが、何かしらの成果を出す気持ちは変わりません。 >特にtelnetとtimeoutのあたりが実現難しいんじゃないかと。 やはりそうですか。検索(日本語ページのみ)してもなかなか詳細が記載されてなかったりしますね。 >特にtelnetがどう動作しているかとか、TCPのによるネットワークプログラムの知識がいりますね。 N/Wの分野におりますので、全くの素人よりは可能性があるかなと密かな思いです。 >あと、実用的なプログラムを作るなら、はっきりとかかれていないことを読み取るというか、 >自分で補う必要もありますし、エラー処理についてもいろいろと考えてやらないと困りますし。 それもこれも全て対応するつもりです。 > 一応自分が作るとして使うだろうとぱっと思いついた関数挙げてみますが。 ありがとうございます。検索して情報収集して取りかかりたいと思います。 >誰か指導してくれる人でもいればまだ可能かも知れませんが。 >助言としてはその場で質問、相談できる人を確保でしょうかね。でも、大変そうだから断られるかも。 いません。ホントは居ますがそれだと個人的に意味が無いのです。

  • rentahero
  • ベストアンサー率53% (182/342)
回答No.1

まったくの初心者がやるにはチョット荷が勝ちすぎのような気がしますけど。perlではなくてCなんですよね? 部分部分をshellスクリプトやperlと連携させるのが開発を早くすすめる方法だと思いますよ? さて、以下は「諫言」のつもりですので、どうしても気に入らなければ無視してください。 end lineがあるとのことですが、業務で行う作業でしたら、ここで聞くのは間違っています。 業務で行う作業に対する助言は専門のコンサルタントに有料で依頼すべきものであり、教えて!gooのように無料で聞けるものでは本来ないはずです。 ~~~~~のような処理を行おうと xxxxx のようにコーディングしたのですが、うまく動きません。どうしたらよいのか教えてください。 という質問であればまだしも、この質問は、私には、丸投げしてるようにしか見えません。

juicylovin
質問者

補足

>部分部分をshellスクリプトやperlと連携させるのが開発を早く >すすめる方法だと思いますよ? なるほど、参考になります。 >業務で行う作業に対する助言は専門のコンサルタントに >有料で依頼すべきものであり、 残念ながら貧乏なProjectはこうするしか無いのです。 >教えて!gooのように無料で >聞けるものでは本来ないはずです。 そうとは知りませんでした、失礼しました。 >丸投げしてるようにしか見えません。 これをきっかけにN/W以外のPGをSKILL UPをして、幅広い知識と技術を身に付けてエンジニアとして成長し、顧客に喜んで頂こうと思っていました。 先ずは何から初めて良いのかも解りませんでしたから、ココできっかけを作って、後は独学をするしかないと思っております。 何もしないよりは失敗してでもチャレンジする事だけで動いております。 あしからず。

関連するQ&A

専門家に質問してみよう