The UNIX and Linux Forums  


Go Back   A UNIX és Linux Forums > Top Fórumok > Magas szintű Programozás
.
google unix.com



Magas szintű Programozás Post kérdések C, C + +, Java, SQL, és más programozási nyelvek itt.

Több, UNIX és Linux fórum témák Ön által talált Hasznos
Szál Thread Starter Fórum Válaszok Utolsó hozzászólás
fájlrendszer méretét magasem AIX 7 02-06-2008 04:21 AM
növelése gyökér fájlrendszer méretét Solaris sriram.s SUN Solaris 4 04-02-2007 04:28 AM
növekvő UFS fájlrendszer méretét Solaris BG_JrAdmin A UNIX a dummies Kérdések és válaszok 6 12-01-2005 04:56 AM
Fájlrendszer méretének változása jvinn A UNIX a fejlett és szakértői Felhasználók 9 05-11-2005 07:13 PM
Ingyenes mérete Fájlrendszer videsh77 A UNIX a dummies Kérdések és válaszok 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 Téma eszközök Keresés a téma Rate Thread Megjelenítési módok
  #1 (permalink)  
Old 02-13-2008
lucaxvu lucaxvu is offline
Regisztrált felhasználó
  
 

Join Date: Feb 2008
Hozzászólások: 2
hogyan lehet eljutni a fájlrendszer méretét

Én a következő kódot, és a kimenet incosistent, mi a probléma:

szabad blokkok: 1201595
blokkméret: 4096
teljes méretű (szabad blokkok * blokkméret): 626765824

1201595 * 4096 sem, 626765824, mi a probléma???

# 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 ( "szabad blokkok:% u \ n", buffer.f_bavail);
printf ( "blokkméret:% u \ n", buffer.f_bsize);

free_blk \u003d buffer.f_bavail;
blk_size \u003d buffer.f_bsize;
printf ( "teljes méret:% u \ n", free_blk * blk_size);
return 0;
)

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

Join Date: Feb 2007
Hozzászólások: 4.342
A probléma az integer túlcsordulás.
Állapítsa meg a változó free_blk és blk_size hosszú és változás formában az utolsó printf nyilatkozatát az alábbiak szerint:


Kód:
#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;
}

Üdvözlettel
Closed Thread

Könyvjelzõk

Téma eszközök Keresés a téma
Keresés a téma:

Részletes keresés
Megjelenítési módok Rate this thread
Rate this thread:

Posting szabályzat
Ön nem post new threads
Ön nem post válaszok
Ön nem post Csatolmányok
Ön nem szerkeszteni az üzeneteidet

BB kód van Be
Smilies vannak Be
[IMG] kód Be
HTML kód Ki
Trackbacks vannak Be
Pingbacks vannak Be
Refbacks vannak Be




Minden idő GMT -4. Az idő most 03:17 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Nyelvre lefordítva Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
A UNIX és Linux Fórum Tartalom Copyright © 1993-2009. Minden jog Reserved.Ad menedzsment RedTyger

Content Relevant URLs by vBSEO 3.2.0