• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zapisywanie danych w c++

Object Storage Arubacloud
0 głosów
976 wizyt
pytanie zadane 8 marca 2018 w C i C++ przez jarpaw Nowicjusz (120 p.)
Witam serdecznie,

jestem nowym użytkownikiem forum oraz zaczynam naukę programowania w c++. Pomimo iż na początku przerabiam programowanie w konsoli nurtuje mnie sprawa związana już z programowaniem aplikacji okienkowej.

Próbowałem znaleźć w sieci jednoznacznej odpowiedzi na pytanie, gdzie zapisuje się dużą ilość informacji(danych) wprowadzanych przez użytkownika.

Przykładowo:

Tworzymy program w stylu menedżer finansów, gdzie użytkownik wprowadza bardzo dużą ilość danych i czy trzeba na te dane dodatkowo stworzyć osobną bazę danych z którą następnie łączymy nasz program?

Będę wdzięczny za odpowiedź.
komentarz 8 marca 2018 przez Sebastian Fojcik Nałogowiec (43,020 p.)
=== Przeniesione do odpowiedzi ===

2 odpowiedzi

0 głosów
odpowiedź 8 marca 2018 przez Beginer Pasjonat (22,110 p.)
W najprostszy sposób dane można zapisywać w pliku tekstowym *.txt
0 głosów
odpowiedź 8 marca 2018 przez Sebastian Fojcik Nałogowiec (43,020 p.)
Wszystko zależy od tego jak zdecydujesz się napisać swoją aplikację. Jednym z wyjść, jest przechowywanie wszystkich danych w pamięci RAM (czyli w zmiennych int, string itp. - choć to duże uproszczenie, bo te dane trzeba raczej trzymać w dynamicznych strukturach danych, ale jak zaczynasz dopiero programować, to pewnie nie zrozumiesz jeszcze). Jak program padnie przed zapisaniem, to wszystko przepada.

Innym wyjściem jest zapisywać stan programu w tle do jakiegoś tymczasowego pliku. Tak chyba robi Excel, Word. Oczywiście wszystkie liczby, które aktualnie są wyświetlane w Excelu zapewne też siedzą w jakiejś tablicy w programie.

Tworzenie takich tymczasowych plików pomaga zaoszczędzić RAM, poprzez stopniowe doczytywanie kolejnych porcji danych z pliku.

Jak otwierasz ogromny plik TXT, który ma powiedzmy 50 MB. To taki porządniejszy notatnik nie będzie wczytywał całego pliku. Tylko wyczyta początek i ci go wyświetli. Jak zaczniesz scrollować, to zacznie doczytywać kolejne porcje tekstu.

Windowsowy notatnik tego nie robi, więc próba otwarcia ogromnego pliku potrafi go zawiesić na kilka minut.

Wracając jeszcze do twojego przykładu z menedżerem finansów. Jakby użytkownik wprowadzał dużą ilość danych, to zapisujesz je do zwykłych tablic. Często nawet o tym nie wiesz, bo np. pole tekstowe w aplikacji okienkowej, to swego rodzaju obiekt. który robi to za ciebie.

Nie wiem też co rozumiesz przez "dużą ilość informacji". Dla mnie np. arkusz kalkulacyjny. który ma 10 tysięcy wierszy wypełnionych liczbami, to wcale nie jest dużo informacji. Program wyczyta to w ułamek sekundy. Jak renderujesz film w np. Adobe Premiere, to ten program przetwarza pliki, które łącznie potrafią czasami ważyć 100 GB, a nawet więcej. To jest dopiero problem, bo nie ma szans, aby to do RAM w czytać.

Tobie przez dłuuuugi czas będą wystarczały zwyczajne tablice. Jak poznasz obiektowość i będziesz robił aplikacje okienkowe, to ta wiedza gdzie co zapisać sama przyjdzie. Ciężko to tobie teraz wyjaśnić, gdy nie miałeś styczności z tworzeniem tego typu programów w oknie.

Pozdrawiam :-)
komentarz 11 marca 2018 przez jarpaw Nowicjusz (120 p.)
Dziękuje bardzo za odpowiedź

Podobne pytania

0 głosów
0 odpowiedzi 63 wizyt
pytanie zadane 23 czerwca 2023 w SQL, bazy danych przez roger10 Nowicjusz (180 p.)
+1 głos
1 odpowiedź 108 wizyt
0 głosów
0 odpowiedzi 310 wizyt

92,539 zapytań

141,382 odpowiedzi

319,476 komentarzy

61,928 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...