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

Zapisywanie danych w c++

0 głosów
86 wizyt
pytanie zadane 8 marca 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 przez Sebastian Fojcik Nałogowiec (42,430 p.)
=== Przeniesione do odpowiedzi ===

2 odpowiedzi

0 głosów
odpowiedź 8 marca 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 przez Sebastian Fojcik Nałogowiec (42,430 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 przez jarpaw Nowicjusz (120 p.)
Dziękuje bardzo za odpowiedź

Podobne pytania

0 głosów
1 odpowiedź 73 wizyt
pytanie zadane 7 stycznia w Java przez Dominik Kulis Użytkownik (720 p.)
0 głosów
2 odpowiedzi 121 wizyt
pytanie zadane 5 grudnia 2015 w SQL, bazy danych przez artimal Gaduła (4,840 p.)
Porady nie od parady
Wynikowy wygląd pytania, odpowiedzi czy komentarza, różni się od tego zaprezentowanego w edytorze postów. Stosuj więc funkcję Podgląd posta znajdującą się pod edytorem, aby upewnić się, czy na pewno ostateczny rezultat ci odpowiada.Podgląd posta

53,042 zapytań

96,245 odpowiedzi

197,034 komentarzy

25,898 pasjonatów

Przeglądających: 143
Pasjonatów: 2 Gości: 141

Motyw:

Akcja Pajacyk

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

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...