新しく質問する

C言語のファイル処理 C言語

役に立った:0件
  • 質問者:noname#9404
  • 投稿日時:2005/02/13 12:51
  • 困り度:すぐに回答が欲しいです
  • 友達に紹介
  • ブログに書く
  • 教えて!gooお気に入り

指定したファイルのなかの文字列を表示させたいです。
最後の2行だけ表示させたいのですが、どうやっていいのかわかりません。。。また、それ2行を、入力した出力ファイルに書き込みたいのですが・・、どうやって指定したらいいのでしょうか??
わかる方よろしくです(><)

この質問への回答は締め切られました。
このQ&Aは役に立ちましたか?(役に立った:0件)
  • 参考になった:0件
  • 回答者:mssine
  • 回答日時:2005/02/14 18:27

ちょっと回答からは外れちゃいますが、unixでいうtailコマンドで同じことが出来ます。

tail -2 in_file >out_file

通報する

  • 参考になった:0件

No.2ベストアンサー10pt

  • 回答者:yamaichiro
  • 回答日時:2005/02/13 18:00

入力した出力ファイルって、ファイル名を入力して
もらうという意味なら、scanfとかでファイル名を
指定してもらってfopenでファイルを作成して
No.1の方の最後の行のprintfをfprintfにすれば
できると思います(最後はfclose)。

もし、入力した出力ファイルというのが、今読んだ
ファイルのことであれば、fseekで先頭に戻って、
上記fprintfで書き込んで、fcloseかな。

通報する

  • 参考になった:0件

No.1ベストアンサー20pt

  • 回答者:Bonjin
  • 回答日時:2005/02/13 13:29

>最後の2行だけ表示させたいのですが
2行文のバッファを用意し、ファイルを一行ずつ読みバッファの内容を更新していけば良いのでは?

なんとなくなフロー
char buffer[],last[],last2[];
FILE *fp;
fp = fopen(・・・)
while(fgets(buffer, sizeof(buffer), fp) != NULL){
strcpy(last2, last);
strcpy(last, buffer);
}
printf("%s\n%s\n", last2, last);

>また、それ2行を、入力した出力ファイルに書き込みたいのですが・・
もう少し具体的に書いていただいた方がわかりやすいと思いますが・・・

通報する

  
このQ&Aは役に立ちましたか?(役に立った:0件)

このページのトップへ

Facebook公式ページ

公式Twitter