Форум программистов, компьютерный форум CyberForum.ru

Вывести итоговую строку с общим размером (в блоках) всех файлов в данной директории - C Linux

Восстановить пароль Регистрация
 
tokar_1
1 / 1 / 0
Регистрация: 11.04.2012
Сообщений: 36
26.12.2016, 17:12     Вывести итоговую строку с общим размером (в блоках) всех файлов в данной директории #1
Добрый день.

Если в Linux в командной строке набрать команду "ls -l", то перед каждым списком выводится итоговая строка с общим размером всех файлов в списке, который измеряется в блоках.

Подскажите, пожалуйста, как в программе на Си, мне этот общий размер вывести на консоль. Может есть какая-нибудь системная функция, которая измеряет размер файла в блоках, а дальше я бы уже просуммировал.

И подскажите, пожалуйста, как прочитать в программе на Си, какой размер блока установлен в файловой системе Линукс по умолчанию. Если я не ошибаюсь эти размеры бывают 512, 1024 кбайт и другие.

Заранее большое спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.12.2016, 17:12     Вывести итоговую строку с общим размером (в блоках) всех файлов в данной директории
Посмотрите здесь:

Прочитать строку с текстового файла и вывести ее в обратном порядке C Linux
Вывести в формате ls информацию о содержимом всех директорий C Linux
Найти в строке первый пробел и вывести новую строку начиная с пробела C Linux
Работа процессов с общим файлом (mmap) C Linux
Как узнать атрибуты файлов и папок директории? C Linux
C Linux Вывести список файлов каталога, в которые разрешена запись
C Linux Вывод списка имен всех файлов из указанного каталога
C Linux Вывести список файлов текущего каталога с указанием имени файла, его длины и прав доступа
Получить список только текстовых файлов в указанной директории C Linux
Копирование файлов в Ubuntu из одной директории в другую C Linux
Найти и вывести сумму всех дробных чисел в строке C Linux

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
drfaust
251 / 141 / 36
Регистрация: 02.10.2008
Сообщений: 506
Записей в блоге: 1
Завершенные тесты: 1
27.12.2016, 06:54     Вывести итоговую строку с общим размером (в блоках) всех файлов в данной директории #2
man fstat()
tokar_1
1 / 1 / 0
Регистрация: 11.04.2012
Сообщений: 36
27.12.2016, 09:55  [ТС]     Вывести итоговую строку с общим размером (в блоках) всех файлов в данной директории #3
drfaust, спасибо за ответ.

Функции stat(), fstat(), lstat() - это я знал. Эти функции заполняют буфер, имеющий тип struct stat. Один из членов данной структуры (st_blocks) выдает размер файла в 512-байтных блоках. А у меня (в Ubuntu) по умолчанию размер файла выводится в 1024-байтных блока. Т.е при команде "ls -l" будет выведен размер в два раза меньший.

Поэтому вопрос для меня пока остается открытым.
Yandex
Объявления
27.12.2016, 09:55     Вывести итоговую строку с общим размером (в блоках) всех файлов в данной директории
Ответ Создать тему
Опции темы

Текущее время: 14:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru