The UNIX and Linux Forums  
Hallo en welkom van de Verenigde Staten aan de UNIX en Linux Forum! Bedankt voor uw bezoek en Deelnemen aan onze wereldwijde gemeenschap.

Go Back   De Unix-en Linux Forum > Top Forums > Hoog Niveau Programmering
.
google unix.com



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

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 Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 02-13-2008
lucaxvu lucaxvu is offline
Geregistreerde gebruiker
  
 

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

Join Date: Feb 2007
Berichten: 4.302
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;
}
Groeten
Closed Thread

Bladwijzers

Thread Tools Zoeken in deze Thread
Zoeken in deze Thread:

Uitgebreid zoeken
Display Modes Beoordeel deze draad
Beoordeel deze draad:

Posting Regels
Jij mag niet Post Nieuwe threads
Jij mag niet na antwoorden
Jij mag niet post attachments
Jij mag niet bewerk uw berichten

BB code is Aan
Smilies zijn Aan
[IMG] code Aan
HTML-code is Uit
Trackbacks zijn Aan
Pingbacks zijn Aan
Refbacks zijn Aan




Alle tijden zijn GMT -4. Het is nu 05:59 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Vertalingen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
De Unix-en Linux Forums Copyright © 1993-2009. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0