Mam krótki program w C, który zapisuje w pliku, dopóki nie ma więcej miejsca na dysku:Ograniczenie rozmiaru pliku 2 GB przy użyciu fwrite w 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;
}
Kiedy uruchamiam program (w Linuksie), zatrzymuje się, gdy plik osiągnie 2 GB.
Czy istnieje wewnętrzne ograniczenie ze względu na strukturę PLIKU, czy coś?
Dzięki.
To brzmi jak dodatnia 1/2 32-bitowej liczby całkowitej. –
Który system plików jest sformatowany na dysku twardym? – eduffy
Linux mówi "vfat", czyli chyba FAT32. Jest to dysk flash 4 GB, który jest początkowo (prawie) pusty. – Gabriel