![]() |
Hallo und herzlich Willkommen aus den Vereinigten Staaten, die UNIX-und Linux-Foren! Vielen Dank für Ihren Besuch und die Teilnahme an unserem Global Community.
|
|
Google unix.com
|
|||||||
| Foren | Registrieren | Forum-Regeln | Links | Alben | FAQ | Benutzerliste | Kalender | Suche | Die heutige Beiträge | Alle Foren als gelesen markieren |
| High-Level-Programmierung Post Fragen zu C, C + +, Java, SQL, und andere Programmiersprachen hier. |
Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
|
||||
| Faden | Thread Starter | Forum | Antworten | Last Post |
| Dateisystem Größe | magasem | AIX | 7 | 02-06-2008 04:21 AM |
| Erhöhung root-Dateisystem Größe in Solaris | sriram.s | SUN Solaris | 4 | 04-02-2007 04:28 AM |
| Erhöhung der UFS-Dateisystem Größe in Solaris | BG_JrAdmin | UNIX for Dummies Questions & Answers | 6 | 12-01-2005 04:56 AM |
| Datei-Größe ändern | jvinn | UNIX für Fortgeschrittene und Experten | 9 | 05-11-2005 07:13 PM |
| Freie Größe für Datei-System | videsh77 | UNIX for Dummies Questions & Answers | 7 | 02-03-2005 06:44 AM |
![]() |
|
|
LinkBack | Thread Tools | Suche diesen Thread | Rate Thread | Anzeige-Modi |
|
|
|
||||
|
how, um die Datei herunterzuladen Größe
Ich habe den nächsten Code und die Ausgabe incosistent, was ist das Problem:
freien Blöcke: 1201595 Blockgröße: 4096 Gesamtgröße (freien Blöcke * Blockgröße): 626765824 1201595 * 4096 nicht, ist 626765824, was ist das Problem? # include <sys/statvfs.h> # include <stdio.h> int main () ( struct statvfs Puffer; int status; int free_blk; int blk_size; status \u003d statvfs ("/", & buffer); printf ( "freien Blöcke:% u \ n", buffer.f_bavail); printf ( "Blockgröße:% u \ n", buffer.f_bsize); free_blk \u003d buffer.f_bavail; blk_size \u003d buffer.f_bsize; printf ( "Größe:% u \ n", free_blk * blk_size); return 0; ) Thks |
|
||||
|
Das Problem ist ein Integer-Überlauf.
Deklarieren Sie die Variablen free_blk und blk_size so lange, und ändern Sie das Format der letzten printf-Anweisung wie folgt: 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;
}
|
![]() |
| Lesezeichen |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|