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

Как получить размер блока в файловой системе - C++

Восстановить пароль Регистрация
 
АТерентьев
20 / 19 / 1
Регистрация: 16.10.2009
Сообщений: 933
05.11.2010, 09:44     Как получить размер блока в файловой системе #1
Си+ linux.
Пытаюсь вывести размер блока файловой системы

C#
1
2
3
struct stat buf;
i = stat("имя файла", &buf);
printf("Размер блока файловой системы - %u", buf.st_blksize);
Но получаю странное значение, типа - 131072.
В чем может быть дело?
Спасибо за любую ссылку или подсказку.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.11.2010, 09:44     Как получить размер блока в файловой системе
Посмотрите здесь:

Как определить размер фаила с ifstream или как-то по другому? C++
Дана строка, содержащая число в десятичной системе исчисления. Преобразовать число в строке к восьмеричной системе. C++
Ввести размер массива с клавиатуры и передать этот размер в конструктор C++
C++ Получить размер консольного окна
C++ Получить размер больших файлов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
odip
Эксперт C++
 Аватар для odip
7224 / 3286 / 58
Регистрация: 17.06.2009
Сообщений: 14,165
05.11.2010, 14:21     Как получить размер блока в файловой системе #2
Чего странного ?
это ровно 128Kbyte
АТерентьев
20 / 19 / 1
Регистрация: 16.10.2009
Сообщений: 933
05.11.2010, 17:59  [ТС]     Как получить размер блока в файловой системе #3
Спасибо, не догадался. Что-то большой блок, я ожидал типа 512 байт или 1024.
Действительно, бывает такой большой блок?
odip
Эксперт C++
 Аватар для odip
7224 / 3286 / 58
Регистрация: 17.06.2009
Сообщений: 14,165
05.11.2010, 18:01     Как получить размер блока в файловой системе #4
Ну если ты скажешь какая у тебя ОС и файловая система ...
АТерентьев
20 / 19 / 1
Регистрация: 16.10.2009
Сообщений: 933
05.11.2010, 18:33  [ТС]     Как получить размер блока в файловой системе #5
Я захожу на университетский сервер. Там стоит OPENSUSE. Возможно файловая система nfs, смотрю как это определить

Добавлено через 16 минут
C#
1
du prog.c
выдает - 4
C#
1
2
stat("prog.c",&buf)
printf("%d",buf.st_size)
выдает - 2716
C#
1
printf("%d,buf.st_blocks")
выдает - 8.
Как это понимать?
Спасибо!
Yandex
Объявления
05.11.2010, 18:33     Как получить размер блока в файловой системе
Ответ Создать тему
Опции темы

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