The UNIX and Linux Forums  


Go Back   UNIX og Linux Forums > Top Forums > Højtstående Programmering
.
google unix.com



Højtstående Programmering Post spørgsmål om C, C + +, Java, SQL, og andre programmerings sprog her.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
filsystem størrelse magasem AIX 7 02-06-2008 04:21 AM
stigning root filsystem størrelse i Solaris sriram.s Sun Solaris 4 04-02-2007 04:28 AM
stigende UFS filsystem størrelse i Solaris BG_JrAdmin UNIX for dummyer Spørgsmål & svar 6 12-01-2005 04:56 AM
Filsystem størrelse ændre jvinn UNIX for Advanced & Ekspertsøgning Brugere 9 05-11-2005 07:13 PM
Gratis størrelse for Filsystem videsh77 UNIX for dummyer Spørgsmål & svar 7 02-03-2005 06:44 AM

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øg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 02-13-2008
lucaxvu lucaxvu is offline
Registreret Bruger
  
 

Join Date: Feb 2008
Stillinger: 2
hvordan du får det filsystem størrelse

Jeg har den næste kode, og produktionen er incosistent, hvad der er problemet:

frie blokke: 1201595
blokstørrelse: 4096
samlede størrelse (fri blokke * blokere størrelse): 626765824

1201595 * 4096 ikke er 626765824, hvad er problemet???

# include <sys/statvfs.h>
# include <stdio.h>

int vigtigste () (

struct statvfs buffer;
int status;
int free_blk;
int blk_size;

status \u003d statvfs ("/", & buffer);

printf ( "frie blokke:% 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 ( "samlede størrelse:% u \ n", free_blk * blk_size);
tilbagevenden 0;
)

Thks
  #2 (permalink)  
Old 02-13-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderator
  
 

Join Date: Feb 2007
Indlæg: 4.342
Problemet er en heltalsoverløb.
Erklære variabler free_blk og blk_size så længe og ændre formatet for de sidste printf erklæring 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

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 01:43 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0