'CAT(1)'에 해당되는 글 1건

  1. 2008.08.12 myCAT : cat(1)

파일의 내용을 보여주거나, 둘 이상의 파일을 내용을 합쳐서 출력해주는 cat(1)을 직접 구현한 것.

cat는 유닉스에 기본으로 포함되어 있는 명령어이다.

 

#include "ourhdr.h"  //기본 헤더파일 //Common header

int main (int argc, char *argv[])
{
    FILE *file[argc-1];  //파일 포인터 배열 : 입력 받은 파일 명의 수 만큼 파일포인터를 선언
    int loop;    //순환문을 위한 변수
    char buffer;   //Read Buffer

    if (argc <2)   //입력받은 파라메터의 수를 확인
    { err_quit ("Error - One or more parameter is needed."); } //에러 메세지

    for (loop = 0; loop <argc -1; loop++) //출력 루프
    {
        if ( (file[loop] = fopen( argv[loop+1], "r" ) ) ==NULL) //파일 Open이이 실패한 경우
        {
            printf ("cat : %s : No such file or directory\n", argv[loop+1]); //에러메세지
        }
        else           //파일 Open이 성공한 경우
        {
            while ( (buffer = fgetc(file[loop]) )> 0)   //한 바이트씩 읽어서 출력
            {
                printf ("%c",buffer);     //STDOUT 출력
            }     

            if ( (fclose (file[loop])) !=0 )     //출력이 끝나면 파일 Close
            {
                err_sys("%d번째 파일", loop);    //Close 실패 시 에러메세지
            }  
        }
    }

    return 0;
}

'Studies > Advanced Programming in the UNIX Environment' 카테고리의 다른 글

File mode checker  (0) 2008.08.12
myShell  (0) 2008.08.12
myCAT : cat(1)  (0) 2008.08.12
WC : Word Count  (0) 2008.08.10
실행파일 만들기 : Make a .exe file for APUE  (0) 2008.08.10
error.c  (0) 2008.08.10
Posted by 지그프리드 지그프리드

댓글을 달아주세요:: 네티켓은 기본, 스팸은 사절


BLOG main image
일상, 프로그래밍, IT 그리고 직장생활, Dive, 여행 by 지그프리드

카테고리

Class List (402)
Studies (30)
Exercise & Quizz (10)
Term Project (0)
ECIM list (Help!) (10)
Issues & News (0)
Gossip about IT & Job (22)
Tools (2)
Think about the Justice (23)
Book Review (170)
조엘 온 소프트웨어(번역) (28)
Diary (87)
Vacations (9)
Clash of clans 클래시 오브.. (11)

글 보관함

달력

«   2020/03   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
Total : 317,033
Today : 1 Yesterday : 17