![]() |
Hallo en welkom van de Verenigde Staten aan de UNIX en Linux Forum! Bedankt voor uw bezoek en Deelnemen aan onze wereldwijde gemeenschap.
|
|
google unix.com
|
|||||||
| Forums | Registreer | Forum Regels | Links | Albums | Veelgestelde vragen | Ledenlijst | Kalender | Zoeken | Today's Posts | Markeer forums als gelezen |
| Hoog Niveau Programmering Post vragen over C, C + +, Java, SQL, en andere programmeertalen hier. |
Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
|
||||
| Draad | Thread Starter | Forum | Antwoorden | Last Post |
| bestandssysteem grootte | magasem | AIX | 7 | 02-06-2008 04:21 |
| stijging root bestandssysteem grootte in solaris | sriram.s | SUN Solaris | 4 | 04-02-2007 03:28 |
| toenemende UFS bestandssysteem grootte in solaris | BG_JrAdmin | UNIX voor Dummies Questions & Answers | 6 | 12-01-2005 04:56 |
| Bestandssysteem grootte veranderen | jvinn | UNIX for Advanced & Expert Gebruikers | 9 | 05-11-2005 06:13 PM |
| Gratis grootte voor File System | videsh77 | UNIX voor Dummies Questions & Answers | 7 | 02-03-2005 06:44 |
![]() |
|
|
LinkBack | Thread Tools | Zoeken in deze Thread | Rate Thread | Display Modes |
|
|
|
||||
|
hoe je het bestandssysteem grootte
Ik heb de volgende code, en de output is incosistent, wat is het probleem:
vrije blokken: 1201595 Block size: 4096 totale omvang (vrije blokken * block size): 626765824 1201595 * 4096 niet is 626765824, wat is het probleem? # include <sys/statvfs.h> # include <stdio.h> int main () ( struct statvfs buffer; int status; int free_blk; int blk_size; status \u003d statvfs ("/", & buffer); printf ( "vrije blokken:% u \ n", buffer.f_bavail); printf ( "block size:% u \ n", buffer.f_bsize); free_blk \u003d buffer.f_bavail; blk_size \u003d buffer.f_bsize; printf ( "totale grootte:% u \ n", free_blk * blk_size); return 0; ) Thks |
|
||||
|
Het probleem is een integer overflow.
Verklaren de variabelen free_blk en blk_size zo lang en verander het formaat van de laatste printf verklaring als volgt: Code:
#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;
}
|
![]() |
| Bladwijzers |
| Thread Tools | Zoeken in deze Thread |
| Display Modes | Beoordeel deze draad |
|
|