2013년 11월 26일 화요일

파일의 정보 출력하기

/* 파일의 정보 출력 */

#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h>

int main(int argc, char *argv[])
{
        int filestat;
        struct stat fileinfo;

        mode_t filemode;

        if(argc != 2){
                fprintf(stderr,"Usage: %s <filename>\n", argv[0]);
                exit(1);
        }

        if((stat(argv[1], &fileinfo)) == -1){
                fprintf(stderr,"Get %s stat failed\n", argv[1]);
                exit(1);
        }

        filemode = fileinfo.st_mode;

        if(S_ISREG(filemode))
        {
                printf("정규파일입니다.\n");
        }
        else if(S_ISLNK(filemode))
        {
                printf("심볼릭 링크입니다.\n");
        }
        else if(S_ISDIR(filemode))
        {
                printf("디렉토리입니다.\n");
        }
        else if(S_ISFIFO(filemode))
        {
                printf("FIFO입니다.\n");
        }
        else if(S_ISSOCK(filemode))
        {
                printf("소켓파일입니다.\n");
        }

        return 0;
}

댓글 없음:

댓글 쓰기