특별한딸기이야기

설계 파일 본문

딸기 공부방/시스템프로그래밍

설계 파일

특별한녀석 2008. 4. 17. 13:02
시스템 프로그래밍 과제 설계 파일
  ~ Input_name 함수
    ! 목적
      @ 옵션으로 입력받은 디렉토리명 또는 화일명을 변수에 저장한다.
    ! 입력값
      @ 입력받은 문자열
      @ 저장할 문자열
    ! 내용
      @ 입력받은 문자열의 길이를 계산한다.
      @ 저장할 문자열을 입력받은 문자열의 길이에 맞게 동적할당을 한다.
      @ 저장할 문자열에 입력받은 문자열을 복사한다.
  ~ Out 함수
    ! 목적
      @ 파일의 속성을 파일 디스크립터에 따라 저장한다.
    ! 입력값
      @ 파일의 종류
        # 파일 또는 디렉토리
      @ stat 변수
      @ dirent 변수
      @ 파일디스크립터
    ! 내용
      @ 파일의 속성을 담을 공간을 여유있게 동적 할당을 한다.
      @ stat 또는 dirent에 들어있는 속성들을 하나씩 동적 할당한 공간에 복사해 넣는다.
      @ 속성들이 들어간 동적 할당 공간의 길이를 측정한다.
      @ write함수를 통해 파일디스크립터가 가르키는 곳으로 출력한다.
      @ 동적 할당을 해제한다.
  ~ Command 함수
    ! 목적
      @ 파일 또는 디렉토리를 탐색한다.
    ! 입력값
      @ 탐색할 디렉토리 명
      @ 파일 디스크립터
    ! 내용
      @ opendir함수를 사용하여 디렉토리 포인터를 받아온다.
      @ 포인터를 받아오지 못하면 에러 표시를 하고 프로그램 종료
      @ readdir 함수를 통해 디렉토리에 들어있는 내용물을 하나씩 받아온다.
      @ stat을 받아오기 위해 절대 경로를 작성한다.
        # 메모리 동적 할당을 통해 주소가 들어갈 메모리 공간을 확보하고 주소를 복사해 집어 넣는다,
      @ lstat함수를 통해 stat을 확보한다.
      @ 파일 속성이 디렉토리일 경우
        # 디렉토리 파일명이 "." 또는 ".."이 아닌지 확인한다.
          $ 맞을 경우 다음 디렉토리 내용물을 받아온다.
          $ 아닐 경우 디렉토리의 속성을 Out함수를 통해 출력한다.
          $ 새로운 디렉토리 파일명을 담을 공간을 동적 할당을 통해 확보한다.
          $ 현재 디렉토리 명에 지금 디렉토리 파일명을 합쳐 새로운 경로를 만든다.
          $ Command 함수를 호출한다.
        # 파일 속성이 파일일 경우
          $ 파일의 속성을 Out함수를 통해 출력한다.
      @ closedir을 통해 파일 포인터를 닫는다.
  ~ main함수
    ! 목적
      @ 프로그램의 시작 및 끝을 담당한다.
    ! 입력값
      @ 사용자의 옵션값
    ! 내용
      @ 사용자의 옵션값에 지원하는 옵션이 들어왔는지 확인한다.
      @ 디렉토리 명이 들어오지 않았을 경우 현재 디렉토리를 의미하는 "."을 입력한다.
      @ 파일명이 들어오지 않았을 경우 파일 디스크립터를 1로 지정한다.
        # 1은 표준 출력을 의미   

'딸기 공부방 > 시스템프로그래밍' 카테고리의 다른 글

프레젠테이션  (0) 2008.06.10
시스템 프로그래밍 문서  (0) 2008.06.05