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 »  |