Mam za zadanie napisać w języku C++ listę TODO, czyli rzeczy do zrobienia. Program ma pobierać i zapisywać zadania z pliku. No i tutaj pojawia się problem… otóż pojedyncze zadanie w pliku ma postać:
17-06-2008;22:17;wyslac projekt;10;
Całość wczytuje sobie do jakiejś zmiennej pomocniczej typu string, a następnie z całości wycinam odpowiednie substringi do kolejnych zmiennych pomocniczych. No i tutaj pojawia się problem, gdyż, chce, aby program sortował mi zadania wd daty, a następnie godziny. Rzutuje w następujący sposób stringi do inta:
Ale niestety przy rzutowaniu np. miesiąca (06) usuwa na początku zero, tutaj może i nie ma to żadnego znaczenia, ale co z godziną, a konkretnie wartościami odpowiadającymi minutom… jeśli będzie np. 22:05, to w programie przy rzutowaniu obetnie mi zero i zostani 22:5 :? Może macie jakiś pomysł, jak rozwiązać ten problem? Może istnieje jakaś inna metoda wczytywania z pliku, czy też rzutowania?
Abstrahując od powyższych wypowiedzi, problem możesz rozwiązać zapisujac do pliku datę w postaci timestamp-a, czyli jednej liczby. Poźniej na potrzeby wyświetlania możesz ją sobie bez problemów formatować wg uznania.
Poza tym, jeżeli planujesz sprawdzać czas wpisów, np. czy już minął, to zdecydowanie timestamp będzie najwygodniejszy, bo wystarczy porownać go z wynikiem funkcji time().