Ho un programma breve C che scrive in un file fino a quando non v'è più spazio su disco:Limite di 2 GB alle dimensioni del file quando si utilizza il metodo di scrittura in C?
#include <stdio.h>
int main(void) {
char c[] = "abcdefghij";
size_t rez;
FILE *f = fopen("filldisk.dat", "wb");
while (1) {
rez = fwrite(c, 1, sizeof(c), f);
if (!rez) break;
}
fclose(f);
return 0;
}
Quando eseguo il programma (in Linux), si ferma quando il file raggiunge 2 GB.
C'è una limitazione interna, dovuta alla struttura FILE, o qualcosa del genere?
Grazie.
Sembra il 1/2 positivo di un numero intero a 32 bit. –
Quale file system ha il tuo disco rigido formattato come? – eduffy
Linux dice "vfat", che è FAT32, penso. È un'unità flash da 4 GB, che è inizialmente (quasi) vuota. – Gabriel