디스크에 더 이상 공간이 없을 때까지 파일에 쓸 짧은 C 프로그램이 있습니다.C에서 fwrite를 사용할 때 파일 크기에 2GB 제한이 있습니까?
#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에서) 파일이 2GB에 도달하면 중지됩니다.
FILE 구조 등으로 인해 내부 제한이 있습니까?
고마워.
32 비트 정수의 양수 1/2 소리가 들립니다. –
하드 드라이브는 어떤 파일 시스템으로 포맷 되었습니까? – eduffy
리눅스는 "vfat"라고 말합니다. FAT32라고 생각합니다. 처음에는 (거의) 비어있는 4GB 플래시 드라이브입니다. – Gabriel