Что то давненько я про кодинг не писал.
Сегодня я приведу еще один пример на тему программирования в Linux.
На этот раз мы разберем такую вещь как получения информации о файле.
Для этих целей существует вызов Stat.
Он читает информацию о нужном файле.
Синтаксис таков:
stat(char *file,strict stat fbuf);
Возвращает -1 при ошибке.
Первый аргумент это имя файла, второй структура в которой будет размещена информация о нем, итоге мы сможем читать из этой структуры необходимые поля.
Ну что ж разберем пример, допустим нужно написать программу, которая выводит uid владельца файла.------------------------------------------------------
#include [stdio.h]
#include [sys/stat.h]
int main(int ac,char *ag[])
{
struct stat buffer; // структура для хранения инфы
if(ac!=1) если кол во аргументов не 1 то
{
if(stat(ag[1],&buffer)!=-1) //если не произошла ошибка то
printf("uid: %d\n",buffer.st_uid); //вывод
else
printf("Не коректное имя файла\n"); // если ошибка
}
else
printf("Пожауйста введите необходимые аргументы\n");
}
---------------------------------------------------------------------------
Думаю все ясно.
Можно вывести более подробную информацию, вот некоторые поля структуры stat:
st_mode - тип, права доступа.
st_atime - время последнего доступа.
st_size - размер.
st_uid - юид юзера.
st_gid - идентификатор группы пользователей.
Кстати, если ввести команду ls -l то в списках можно увидеть как раз результат работы вызова stat.
Получение информации о файле, кодинг под linux
Подписаться на:
Комментарии к сообщению (Atom)
0 Comments for "Получение информации о файле, кодинг под linux"
Отправить комментарий