The UNIX and Linux Forums  


Go Back   UNIX og Linux Forums > Top Forums > High Level Programmering
.
google unix.com



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

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Søk i denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 02-13-2008
lucaxvu lucaxvu is offline
Registrert bruker
  
 

Bli Date: Feb 2008
Innlegg: 2
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
  #2 (permalink)  
Old 02-13-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderator
  
 

Bli Date: Feb 2007
Innlegg: 4342
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
Closed Thread

Hugseliste

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er
Smilefjes er
[IMG] koden
HTML-koden Av
Pingbacks er
Refbacks er




Alle klokkeslett er GMT -4. Nå er klokken 04:50.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0