![]() |
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Rules | Lenker | Album | FAQ | Medlemsliste | Kalender | Søke | Dagens innlegg | Marker forumene som lest |
| High Level Programmering Post spørsmål om C, C + +, Java, SQL og andre programmeringsspråk her. |
Mer UNIX og Linux Forum Emner Du kan finne nyttig
|
||||
| Tråd | Tråd startet | Forum | Svar | Siste innlegg |
| filsystemet størrelse | magasem | AIX | 7 | 02-06-2008 04:21 |
| Økningen root filsystemet størrelse i solaris | sriram.s | Sun Solaris | 4 | 04-02-2007 04:28 |
| økende UFS-filsystemet størrelse i solaris | BG_JrAdmin | UNIX for Dummies Spørsmål og svar | 6 | 12-01-2005 04:56 |
| Filsystemet størrelse endre | jvinn | UNIX for Advanced & ekspertbrukere | 9 | 05-11-2005 07:13 |
| Gratis størrelse for Filsystem | videsh77 | UNIX for Dummies Spørsmål og svar | 7 | 02-03-2005 06:44 |
![]() |
|
|
LinkBack | Thread Tools | Søk i denne tråden | Rate Thread | Visningsmoduser |
|
|
|
||||
|
hvordan komme i filsystemet størrelse
Jeg har neste kode og utdataene incosistent, hva er problemet:
gratis blokker: 1201595 blokk størrelse: 4096 Total størrelse (gratis blokker * blokk størrelse): 626765824 1201595 * 4096 ikke er 626765824, hva er problemet?? # 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 ( "gratis blokker:% 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 ( "Total størrelse:% u \ n", free_blk * blk_size); return 0; ) Thks |
|
||||
|
Problemet er et heltall overflow. Erklærer variablene free_blk og blk_size så lenge, og endre formatet på siste printf erklæringen som følger: 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;
}
Hilsen |
![]() |
| Hugseliste |
| Thread Tools | Søk i denne tråden |
| Visningsmoduser | Ranger denne tråden |
|
|