• ベストアンサー

テキストの各行に行番号をつけて出力するプログラム

タイトルの通りです。 ヒントでいいんで教えてほしいです。 よろしくおねがいします。

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

標準入力からの入力に番号を付けて標準出力に出力 #include <stdio.h> #define BUFFSIZE 128 void main(void){ char buff[BUFFSIZE]; int i=0; while(NULL!=fgets(buff,BUFFSIZE,stdin)){ printf("%6d:\t%s",++i,buff); } }

その他の回答 (2)

  • ID-PeaceC
  • ベストアンサー率46% (97/209)
回答No.2

概略フローを書きます。 (1)テキストモートでfopenして、fgetsでreadする。 (2)別途用意したバッファに行番号文字列を付加。続けてreadしておいた内容をくっつける。(sprintfなんか使うと便利) (3)(2)で生成した行番号付きのバッファを新しいファイルにfwriteする。 と、ほとんどロジックというロジックも無いほど、カンタンなプログラムになりますが? もしかしてご質問の内容を取り違えていたらごめんなさい。

newcolleger
質問者

お礼

概略フローってやっぱり書くもんなんですね^^ まだwhile文までしか習ってないんでちょっと厳しいみたいです。 ありがとうございました。

  • nitscape
  • ベストアンサー率30% (275/909)
回答No.1

ファイルを読み出して"\n"を"\n0002"のように数字で置換して書き込んではどうでしょうか?

newcolleger
質問者

補足

素早い回答ありがとうございます。 普通のプログラムに各行の先頭に行番号をつけて出力するプログラムです。 すみません、説明不足でした。

関連するQ&A