Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Biblioteka fstream i wielkość plików

Ostatnio zmodyfikowano 2017-02-20 22:19
Autor Wiadomość
PatrykOSK
Temat założony przez niniejszego użytkownika
Biblioteka fstream i wielkość plików
» 2017-02-18 17:52:15
Witam was drodzy programiści i programistki :)

Mam małe pytanko, w jaki sposób moge określić wielkość pliku który będzie zapisany przy pomocy write lub << .Wiem tylko że write zapisuje całymi blokami a << poszczególne linie. Jak by ktoś mi wytłumaczył to na podstawie zapisu liczby zmiennoprzecinkowej np. 0.25 dla write i <<.
P-157966
pekfos
» 2017-02-18 17:59:36
Do czego to?
P-157967
maly7
» 2017-02-18 18:06:03
Każdy znak to jeden bajt, każda liczba w pliku jest zapisana jako tekst, więc np. 27.122 będzie miało 6 bajtów.
P-157968
PatrykOSK
Temat założony przez niniejszego użytkownika
» 2017-02-18 18:14:55
pekfos czysta ciekawość, a poza tym być może przyda się na zaliczeniu ;) Czyli nie ma znaczenia czy zapisuje write'm czy << ? Plik zawsze będzie miał tą samą wielkość ?
P-157969
pekfos
» 2017-02-18 18:58:13
Jeśli będziesz zapisywać te same dane, to w obu przypadkach zapiszesz te same dane. (hmmm)
Różnice w rozmiarze mogą być jak zapisujesz np. \n pod Windowsem, ale to w zależności od trybu otwarcia pliku, a nie metody zapisu. Więcej tu: Zapis binarny.
P-157972
Nazgul
» 2017-02-18 23:43:38
Rozwinę pytanie, z czystej ciekawości;)
Czy prędkość zapisu/odczytu się zmienia w zależności czy to plik binarny, czy tekstowy?
W sensie, jak przekonwertujemy wszystkie dane do łańcucha znaków i zapiszemy to w formacie tekstowym albo,
jak zapiszemy wszystkie dane bezpośrednio za pomocą trybu binarnego..

to pomijając sam proces konwertowania, czy prędkość zapisu się zmieni?
P-157985
maly7
» 2017-02-19 00:15:33
Jeśli każdy int w pliku binarnym zapisuje się na 4 bajtach, to dla np. liczby 21 (bin: 4 bajty, tekstowy: 2 bajty) plik tekstowy powinien zapisać się szybciej bo ma tylko 2 bajty :D Przynajmniej tak mi się wydaje. Dla małych plików ta różnica pomiędzy zapisem jest pewnie nawet niezauważalna.

Jeśli natomiast przekonwertujesz wszystko do tekstu to będzie chyba taki sam rozmiar (taki sam czas zapisu?), ponieważ tekst składa się ze znaków, a znak (char) to już tylko jeden bajt więc i zapisze się na jednym bajcie.

Nigdy się nad tym nie zastanawiałem, jeśli jest inaczej, niech mnie ktoś poprawi :p
P-157988
michal11
» 2017-02-19 00:28:24
To czy inta zapiszesz na 4 bajtach czy na 2 nie ma znaczenia (oczywiście jeżeli chodzi o czasy zapisu i odczytu) ważniejsze jest to czy zapisujesz/odczytujesz po jednym bajcie czy w większych grupach np. po 128 bajtów w tym drugim przypadku będziesz szybciej, chociaż wydaje mi się, że na dyskach sad to i tak nie ma znaczenia
P-157990
« 1 » 2 3 4
  Strona 1 z 4 Następna strona