![]() |
Здравствуйте и добро от Соединенных Штатов UNIX и Linux Форумы! Благодарим Вас за посещение и вступления нашей мирового сообщества.
|
|
Google unix.com
|
|||||||
| Форумы | Регистрация | Правила форума | Ссылки | Альбомы | ЧАВО | Список участников | Календарь | Поиск | Сегодняшние сообщения | Отметить форумы читать |
| Программирования высокого уровня Почтовые вопросы о C, C + +, Java, SQL и других языках программирования здесь. |
Подробнее UNIX и Linux Темы форума можно найти полезные
|
||||
| Нить | Резьба для начинающих | Форум | Ответы | Последнее сообщение |
| Файловая система Размер | magasem | AIX | 7 | 02-06-2008 04:21 AM |
| Увеличение корневой файловой системой размером в Solaris | sriram.s | SUN Solaris | 4 | 04-02-2007 04:28 AM |
| UFS увеличения размера файловой системы в ОС Solaris | BG_JrAdmin | UNIX для чайников Вопросы И Ответы | 6 | 12-01-2005 04:56 AM |
| Файловая система изменения размера | jvinn | UNIX перспективных И опытных пользователей | 9 | 05-11-2005 07:13 PM |
| Бесплатные размер файловой системы | videsh77 | UNIX для чайников Вопросы И Ответы | 7 | 02-03-2005 06:44 AM |
![]() |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
|
|
||||
|
Как получить файл размером системы
У меня следующий код, и на выходе будет incosistent, в чем состоит проблема:
свободных блоков: 1201595 Размер блока: 4096 Общий размер (свободных блоков * размер блока): 626765824 1201595 * 4096, не является 626765824, в чем проблема??? # включить <sys/statvfs.h> # включить <stdio.h> INT Main () ( структуры statvfs буфера; INT статуса; INT free_blk; INT blk_size; Статус \u003d statvfs ("/", И буфер); printf ( "свободные блоки:% U \ N", buffer.f_bavail); printf ( "Размер блока:% U \ N", buffer.f_bsize); free_blk \u003d buffer.f_bavail; blk_size \u003d buffer.f_bsize; printf ( "Общая площадь:% U \ N", free_blk * blk_size); возврат 0; ) Thks |
|
||||
|
Эта проблема является целочисленное переполнение.
Объявление переменных free_blk и blk_size, как долго и изменить формат последней printf заявление следующим образом: Код:
#include <sys/statvfs.h>
#include <stdio.h>
int main(){
struct statvfs buffer;
int status;
long free_blk;
long blk_size;
status = statvfs("/", &buffer);
printf("free blocks: %u\n",buffer.f_bavail);
printf("block size: %u\n",buffer.f_bsize);
free_blk = buffer.f_bavail;
blk_size = buffer.f_bsize;
printf("total size: %Ld\n",free_blk*blk_size);
return 0;
}
|
![]() |
| Закладки |
| Резьба Инструменты | Искать в этом Thread |
| Режимы дисплея | Оценить эту ветку |
|
|