Skąd wyszło, że pliki tekstowe mogą zawierać tylko dane do 2GB?

0

Podczas pracy spotkałem się z ograniczeniem dopisywania do pliku poprzez Append To jedyne ograniczenie. Write jak i ReWrite potrafią więcej. Nigdzie nie doszukałem się w dokumentacji, że Append jest ograniczony do 2GB, ale takie wyniki otrzymałem gdy składowałem dane do pliku, gdy plik zbliżył się do 2GB otrzymałem błąd zapisu. Wpierw myślałem, że za szybko otwieram i zamykam uchwyt pliku. Jednak to było bez znaczenia. 2GB i error.

0

Może operujesz na systemie plików FAT który ma takie ograniczenie?

0

<= 2GB separated by crlf

2

Tutaj masz to chyba dość dobrze wytłumaczone https://www.codeguru.com/cpp/w-d/doc_view/fileopensave/article.php/c12917/Getting-Past-the-2-Gb-File-Limit.htm
Jak można wywnioskować, problemem nie jest Windows ani jego API a raczej implementacja w środowiskach programistycznych a dokładnie wewnętrzne numerowanie większości rzeczy (gdy nie definiujemy wprost typu zmiennej) do Long które o dziwo ma inny zakres niż można by się spodziewać?
Teoretycznie wystarczy zamienić ten typ na coś większego (tylko po co skoro powinno i tak zadziałać) i problem rozwiązany, w praktyce nie jest to takie proste, chociaż w przytoczonym źródle są pewne sztuczki aby powalczyć (fakt że dla innego środowiska ale jednak).

0

problemem jest raczej to, że my mamy 10 palców, a komputer tylko 1. Ciekawym, czy zdziwienie byłoby mniejsze gdyby ograniczenie wynosiło 1 000 000 000. No ja bym się wtedy bardzo zdziwił

1 użytkowników online, w tym zalogowanych: 0, gości: 1