質問編集履歴

1 ソースの修正

fmams1994

fmams1994 score 13

2015/02/23 00:06  投稿

テキストファイルを行単位で逆順にして標準出力に出力するには?
プログラム実行時に第2引数で指定したテキストファイルを行単位で逆順に出力する
プログラムを作りたいのですが逆順にするにはどのようにすればよいのかが
いまいちよくわかりません
逆順にせず、普通に標準出力に出力できるまではできていますが、ここからどのように改良
すればよいのでしょうか、回答お待ちしております。
```lang-c
#include<stdio.h>
#include<string.h>  
#include<stdlib.h>
void main(int argc, char *argv[]){
   FILE *fp;       //ファイルポインタ
   char moji[1001];   //ファイルの中身を格納する配列
   
   //引数チェック
   if(argc!=2){   //引数が2つでないときはエラーと使い方を表示して終了
       fprintf(stderr,"引数の数が違います.\n使い方:「");
       fprintf(stderr,"%s ファイル名」",argv[0]);
       exit(1);   //プログラムの終了
   }
   
   //ファイルのオープン
   if((fp=fopen(argv[1],"r"))==NULL){
       printf("ファイル%sをオープンできません\n",argv[1]);
       exit(1);   //プログラムの終了
   }
   
   //ファイルの終わりまで繰り返し
   while(fgets(moji,1001,fp)!=NULL){
       fputs(moji,stdout);
   }
   
   printf("\n");
   
   fclose(fp);   //ファイルをクローズ
}
```
  • C

    8485 questions

    C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る