Advertisement
Queen4

Parsing logs

Dec 7th, 2019
162
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.65 KB | None | 0 0
  1. //выводим время из файла логов
  2. #include <iostream>
  3. #include <fstream>
  4. #include <string>
  5. #include <stdlib.h>
  6.  
  7. using namespace std;
  8.  
  9. int main() {
  10. string line; //переменная строки
  11. float *t0 = NULL; //для нахождения времени
  12. int count; //счетчик
  13.     ifstream logs_("C:/LOG.nmea"); //директория к файлу
  14.     if (logs_.is_open()) // если успешно открыт, то
  15.     {
  16.         while (!logs_.eof()) { // пока открыт
  17.            
  18.             logs_ >> line; //начинаем построчно парсить
  19.             if(line.substr(0,6) == "$GPGGA")  // если строка начинается с
  20.             {
  21.                
  22.                 if (t0) //если значение времени не пустое, то находим отношение с первым
  23.                 {  
  24.                     cout << atof(line.substr(7,10).c_str()) - *t0 << endl;
  25.                 }
  26.                 else // иначе задаем пустому значение первое
  27.                 {
  28.                     t0 = new float;
  29.                     *t0 = atof(line.substr(7,10).c_str());
  30.                     cout << 0 << endl;
  31.                 }
  32.                 count++; // счетчик на каждую строку со временем
  33.             }
  34.            
  35.         }
  36.         logs_.close(); //закрываем файл
  37.         delete t0; // удаляем переменную
  38.         cout << "K-vo Zna4eniy -- " << count << endl; //выводим к-во значений
  39.     }
  40.     else //если файл не открылся
  41.         cout<<"File is not open"<<'\n';
  42.  
  43.     return 0;
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement