tôi có một chương trình C ngắn mà viết vào một tập tin cho đến khi không có nhiều không gian trên đĩa:Giới hạn 2GB đối với kích thước tệp khi sử dụng fwrite trong 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;
}
Khi tôi chạy chương trình (trong Linux), nó dừng lại khi tập tin đạt 2GB.
Có giới hạn nội bộ, do cấu trúc FILE hay không?
Cảm ơn.
Điều đó nghe giống như số nguyên dương của số nguyên 32 bit. –
Hệ thống tệp nào được định dạng là ổ đĩa cứng của bạn? – eduffy
Linux nói "vfat", là FAT32 mà tôi nghĩ. Nó là một ổ đĩa flash 4GB, ban đầu (gần như) trống. – Gabriel