Wczytywanie dat i godzin z pliku
Ostatnio zmodyfikowano 2014-06-18 20:48
canna Temat założony przez niniejszego użytkownika |
Wczytywanie dat i godzin z pliku » 2014-06-18 00:42:24 Piszę program, który wczyta dane z pliku o strukturze np.: 16.06.2014 08:45 16:45 i dalej będzie sobie obliczał statystki pracy. Problem w tym, że jakoś nie wychodzi mi wczytywanie odczytanych linii do zmiennych. Standardowo szukałem odpowiedzi w kursie i na forum. Najbliżej tematu był wątek: http://cpp0x.pl/forum/temat/?id=2370Jak próbuję przez getline(plik, wiersz), a potem int dzien = wiersz.substr( 0, 2 ); ...
wywala mi error: cannot convert... string to int. Myślałem o wykorzystaniu biblioteki ctime.h, ale jakoś z kursu nie załapałem jaki typ zmiennej użyć do tego, aby złapać datę i godzinę. Zatem, jak to zrobić, by mieć te dane z linijki pliku i móc na nich prowadzić obliczenia? |
|
Monika90 |
» 2014-06-18 06:34:23 int dzien = wiersz.substr( 0, 2 ); wywala mi error: cannot convert... string to int.
|
substr zwraca string a nie int, można string konwertować na int za pomocą stoi. Ale można też tak (co jest chyba prostsze) char dot, colon; int year, month, day; int hour1, min1, hour2, min2;
file >> day >> dot >> month >> dot >> year >> hour1 >> colon >> min1 >> hour2 >> colon >> min2;
if( file && dot == '.' && colon == ':' ) cout << "OK: " << year << ',' << month << ',' << day << ',' << hour1 << ',' << min1 << ',' << hour2 << ',' << min2 << '\n'; else cout << "Error\n";
|
|
canna Temat założony przez niniejszego użytkownika |
Genialnie proste » 2014-06-18 20:48:01 Dzięki Monika, Pewnie, gdybym wiedział, że można kropkę i dwukropek tak wyciągnąć, to nie zastanawiałbym się nad ctime.h Twój sposób jest dla mnie bardzo czytelny i co ważniejsze niezależny od metody zapisu danych i bibliotek kompilatora. Dalej już sobie poradzę, liczyć umiem ;-) Pozdrowionka |
|
« 1 » |