【C言語】
fopen/fclose/fgets/fputsを使った単純なcat風コマンド

警告: 指定したファイルを標準出力するだけ


■単純なcat風コマンド

#define     _CRT_SECURE_NO_WARNINGS 1
#include    <stdio.h>
#include    <stdlib.h>
static void cat(FILE *fp){
    char    buf[BUFSIZ];
    while(fgets(buf,BUFSIZ,fp) != NULL){
        fputs(buf,stdout);
    }
}
int main(int argc,char *argv[]){
    if(argc < 2){
        fprintf(stderr,"Usage:./a.out  file.c...\n");
        exit(1);
    }
    for(int i = 1; i < argc ;i++){
        FILE *fp = fopen(argv[i],"r");
        if(fp == NULL){
            perror(argv[i]);
            exit(1);
        }
        cat(fp);
        fclose(fp);    
    }
}

こんな時に役に立ちます。

(1)forとwhileどちらを使うか悩んだ時
(2)fgets()の引数の順番を忘れた時
(3)fputs()の引数の順番を忘れた時
(4)i < argcか、i < =argcか忘れた時