![]() |
Bonjour et bienvenu par les États-Unis à la UNIX et Linux Forums! Merci de votre visite et vous joindre à notre communauté mondiale.
|
|
google unix.com
|
|||||||
| Forums | S'inscrire | Forum Rules | Liens | Albums | FAQ | Liste des membres | Calendrier | Recherche | Aujourd'hui, les postes | Marquer les forums comme lus |
| High Level Programming Posez vos questions à propos de C, C + +, Java, SQL, et d'autres langages de programmation ici. |
Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
|
||||
| Fil | Thread Starter | Forum | Réponses | Last Post |
| système de fichiers de taille | magasem | AIX | 7 | 02-06-2008 04:21 AM |
| augmenter la taille du système de fichiers racine dans solaris | sriram.s | SUN Solaris | 4 | 04-02-2007 03:28 AM |
| augmenter la taille du système de fichiers UFS de Solaris | BG_JrAdmin | UNIX pour les nuls Questions et réponses | 6 | 12-01-2005 04:56 AM |
| Système de changement de taille de fichier | jvinn | UNIX for Advanced & Expert Users | 9 | 05-11-2005 06:13 PM |
| Free taille pour le système de fichiers | videsh77 | UNIX pour les nuls Questions et réponses | 7 | 02-03-2005 06:44 AM |
![]() |
|
|
LinkBack | Thread Tools | Recherche sur ce Thread | Rate Thread | Modes d'affichage |
|
|
|
||||
|
comment obtenir le système de fichiers de taille
J'ai le code suivant, et la sortie est incosistent, quel est le problème:
libre blocs: 1201595 block size: 4096 taille totale (sans blocs de la taille des blocs *): 626765824 1201595 * 4096 n'est pas 626765824, quel est le problème? # 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 ( "libre de blocs:% u \ n", buffer.f_bavail); printf ( "taille de bloc:% u \ n", buffer.f_bsize); free_blk \u003d buffer.f_bavail; blk_size \u003d buffer.f_bsize; printf ( "taille:% u \ n", free_blk * blk_size); return 0; ) Thks |
|
||||
|
Le problème, c'est un dépassement d'entier.
Déclarez les variables free_blk et blk_size aussi longtemps et de changer le format de la dernière printf comme suit: 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;
}
|
![]() |
| Bookmarks |
| Thread Tools | Recherche sur ce Thread |
| Modes d'affichage | Rate this thread |
|
|