przechowywanie zmiennych po zakończeniu programu

0

Mam programik, w którym wykorzystuję bieżący kurs Euro, pobieram go sobie ze strony NBP i potrzebuję go jakoś przechować, w razie gdyby przy następnym uruchomieniu programu nie było dostępu do sieci.
Plik xml, json, ini czy może co innego? I gdzie go wrzucić? W %appdata% czy w folderze z programem?
Tutaj to akurat niepotrzebne ale gdybym nie chciał, żeby te dane użytkownik mógł łatwo zmienić, to stosować jakieś szyfrowanie czy może są jakieś gotowe biblioteki do takich rzeczy?

0

Albo plik,
https://stackoverflow.com/questions/19873022/how-can-i-write-a-structure-to-a-file

Albo sqllite - baza danych, przechowywana jako jeden plik

1

Jedna z możliwości to boost Serialization i zapisywać dane u użytkownika (Dane Aplikacji), https://4programmers.net/Forum/C_i_C++/300163-pytanie_o_strukture_danych_w_pliku_txt?p=1423367#id1423367
Jeśli korzystasz z Qt QSettings mogą być też dobrym rozwiązaniem (chyba korzysta z rejestrów).

2

@daniel1302 pamiętaj, że zapisywanie struktury do pliku jest nieprzenośne pomiędzy platformami, kompilatorami. Wystarczy zmienić chociażby wyrównanie zmiennych i zapisany plik w starej wersji nie odczyta się w nowej.

Generalnie polecałbym albo plik *.ini albo *.xml.

Co do lokalizacji to katalog z programem nie jest dobrym pomysłem. Jeśli program zainstalujemy w Program Files to zwykły użytkownik nie będzie miał możliwości zapisu. Dlatego odpada taka lokalizacja odpada. Sensownym wydaje się być katalog użytkownika do którego ma pełne prawa. Ewentualnie dla małych parametrów rejestr HKCU.

0

Baza danych do jednej małej rzeczy, to raczej lekka przesada. QSettings spojrzę, bo korzystam z Qt. Dzięki.
W rejestrze też można bez problemu zapisywać swoje pierdoły? ;)

1
fryderykst napisał(a):

W rejestrze też można bez problemu zapisywać swoje pierdoły? ;)

Tak, ja sam zapisuję w rejestrze pewne drobne informacje jak np. ostatnio logowany użytkownik do systemu. Trzeba pamiętać tylko żeby pisać do gałęzi HKCU.

2

Kulturalna apka powinna zapisywać dane w: %LOCALAPPDATA%\<nazwa apki>\.

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