• ベストアンサー

教えてください。

問題9 指定されたテキストファイルの先頭のn行を表示せよ。ファイル名と表示行数nは コマンドライン引数として与える。作成したコマンド(プログラム名)をheadとすると、 入力の書式は以下のようになる。 head [-n] ファイル名 表示行数nの指定は省略可能とし、省略時はn=10とする。また、ファイルの内容が n行に満たないときは、すべての行を表示する。 どのようにプログラムをつくればあまりわかりません。教えてください。

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

  • ベストアンサー
回答No.3

>(3)がわかりません。ファイルを開くことはバイナリ-ファイルなどで勉強したのでわかります。 fgetsで1行ずつファイルから読んでくればいいかと。 例えば、int i,n=10; char buf[256]; FILE *fp; としておいて、指定行数をnに入れてから、 for (i=0; i<n; i++) { if( fgets(buf,sizeof(buf),fp) == NULL) break; printf("%s",buf); }

その他の回答 (2)

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

回答ではありません。 問題9? どのようにプログラムを作ればあまりわからない? 何らかの宿題なのでしょうか。いずれにしろ自分で調べて回答を導き出さない限り習得したとはいえません。 少なくとも自分で考えた部分を出さないと、 「こいつ、質問を丸投げしてやがる。習得する気がないんだな?」 と、ものすご~く嫌な印象を受けます。逆の立場に立ってみましょう。あなたが先生で生徒に宿題を出すときは自分で解いてもらいたいでしょう?(いいよ別に、という人は論外)他の人がやったんでは教える意味がありません。 第一、ネットで検索すりゃいろんなサンプルが転がってんですよ。それを面倒くさがっているとしか思えません。 一応「猫でも分かる…」のページを参考にあげときます。

参考URL:
http://kumei.ne.jp/c_lang/
tadashi1111
質問者

補足

ついめんどくさくなり頼ってみました・・・。

回答No.1

どのへんが分かりませんか? (1)コマンドラインからファイル名と(あれば)行数を取得する (2)ファイルを開く (3)指定行数分表示する

tadashi1111
質問者

補足

(3)がわかりません。ファイルを開くことはバイナリ-ファイルなどで勉強したのでわかります。

関連するQ&A

専門家に質問してみよう