воскресенье, 22 мая 2011 г.

программа, определяющая тип файла

Программа на C по заданию
Используя системный вызов stat, написать программу, определяющую тип файла: обычный файл, каталог, устройство, FIFO-файл.


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

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

if (stat(argv[1], &sb) == -1) {
perror("stat");

}

printf("Тип файла: ");

switch (sb.st_mode & S_IFMT) {
case S_IFBLK: printf("блочное устройство\n"); break;
case S_IFCHR: printf("символьное устройство\n"); break;
case S_IFDIR: printf("каталог\n"); break;
case S_IFIFO: printf("FIFO-файл\n"); break;
case S_IFREG: printf("обычный файл\n"); break;
default: printf("не известный\n"); break;
}
}