У меня есть короткая программа C, которая записывает в файл, пока не будет не больше места на диске:ограничение 2GB на размер файла при использовании fwrite в 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;
}
При запуске программы (в Linux), он останавливается, когда файл достигает 2 Гб.
Есть ли внутреннее ограничение из-за структуры FILE или что-то еще?
Спасибо.
Звучит как положительная 1/2 32-битного целого. –
Какая файловая система является вашим жестким диском, отформатированным как? – eduffy
Linux говорит «vfat», который, как мне кажется, FAT32. Это флеш-накопитель на 4 ГБ, который изначально (почти) пуст. – Gabriel