Advertisement
Guest User

Parsing v2.0

a guest
Dec 9th, 2019
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.61 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 tount = 0;  //ñ÷åò÷èê êîëëè÷åñòâà âðåìåíè
  13. int count = 0; //ñ÷åò÷èê ïåðèîäîâ ðàáîòû
  14.  
  15. int k=0; //äëÿ öèêëà ïîòåíöèàëà
  16.  
  17.     ifstream logs_("C:/Users/Dmitry/Desktop/Zhuikov project/LogGLO.txt"); //äèðåêòîðèÿ ê ôàéëó
  18.     ofstream tout("outLOGTime.txt"); //ôàéë äëÿ âûâîäà âðåìåíè
  19.     ofstream pout("outLOGPot.txt"); //ôàéë äëÿ âûâîäà ïîòåíöèàëà
  20.     if (logs_.is_open()) // åñëè óñïåøíî îòêðûò, òî
  21.     {
  22.         while (!logs_.eof()) // ïîêà îòêðûò, òî
  23.         {
  24.            k = 0;
  25.             logs_ >> line; //ïîñòðî÷íûé ïàðñèíã
  26.             //line.find(line.substr(0) == "RE004%on%"); //åñëè íàøëè ñòðîêó íà÷àëà ðàáîòû ïðèáîðà
  27.          //{
  28.                
  29.                 //count++;
  30.                 //tout << count << " Period of work" << endl;
  31.                 //pout << count << " Period of work" << endl;
  32.                 if(line.substr(0,6) == "$GPGGA")  // åñëè ñòðîêà GPGGA
  33.                 {  
  34.                
  35.                     if (t0) //åñëè çíà÷åíèå âðåìåíè íå ïóñòîå, òî íàõîäèì îòíîøåíèå ñ ïåðâûì
  36.                     {  
  37.                         tout << atof(line.substr(7,10).c_str()) - *t0 << endl;
  38.                     }
  39.                     else // èíà÷å çàäàåì ïóñòîìó çíà÷åíèþ ïåðâóþ ïåðåìåííóþ
  40.                     {
  41.                         t0 = new float;
  42.                         *t0 = atof(line.substr(7,10).c_str());
  43.                         cout << 0 << endl;
  44.                     }
  45.                     tount++; // ñ÷åò÷èê ñòðîê âðåìåíè
  46.                 }
  47.                 else if (line.substr(0,6) == "$GPGSV") //åñëè ñòðîêà GPGSV
  48.                 {
  49.                     for (size_t i = 0; i < line.size(); i++) // ? óñëîâèå öèêëà ïðîâåäåíèå åãî äî êîíöà ñòðîêè
  50.                         if (line.at(i) == ',') k++; //íàøåë çàïÿòóþ
  51.                         {
  52.                             k < 4;  // ? äî ÷åòâåðòîé çàïÿòîé
  53.                         }
  54.                         else
  55.                         {
  56.                             pout << atof(line.substr(0,2).c_str()) << endl; //ïîñëå ÷åòâåðòîé çàïÿòîé âûâåñòè çíà÷åíèå
  57.                         }
  58.                    
  59.                     for (size_t i = 0; i < line.size(); i++) //? óñëîâèå öèêëà ïðîâåäåíèå åãî äî êîíöà ñòðîêè
  60.                         if (line.at(i) == ',') k++; //íàøåë çàïÿòóþ
  61.                         {
  62.                             k < 11; // ? äî îäèííàäöàòîé çàïÿòîé
  63.                         }
  64.                         else
  65.                         {
  66.                             pout << atof(line.substr(0,2).c_str()) << endl; //ïîñëå îäèííàäöàòîé çàïÿòîé âûâåñòè çíà÷åíèå
  67.                         }
  68.                 }
  69.                 else (line.substr(0,6) == "$GLGSV"); //åñëè ñòðîêà GPGSV
  70.                 {
  71.                     for (size_t i = 0; i < line.size(); i++) // ? óñëîâèå öèêëà ïðîâåäåíèå åãî äî êîíöà ñòðîêè
  72.                         if (line.at(i) == ',') k++; //íàøåë çàïÿòóþ
  73.                         {
  74.                             k < 4;  // ? äî ÷åòâåðòîé çàïÿòîé
  75.                         }
  76.                         else
  77.                         {
  78.                             pout << atof(line.substr(0,2).c_str()) << endl; //ïîñëå ÷åòâåðòîé çàïÿòîé âûâåñòè çíà÷åíèå
  79.                         }
  80.                    
  81.                     for (size_t i = 0; i < line.size(); i++) //? óñëîâèå öèêëà ïðîâåäåíèå åãî äî êîíöà ñòðîêè
  82.                         if (line.at(i) == ',') k++; //íàøåë çàïÿòóþ
  83.                         {
  84.                             k < 11; // ? äî îäèííàäöàòîé çàïÿòîé
  85.                         }
  86.                         else
  87.                         {
  88.                             pout << atof(line.substr(0,2).c_str()) << endl; //ïîñëå îäèííàäöàòîé çàïÿòîé âûâåñòè çíà÷åíèå
  89.                         }
  90.                 }
  91.             //}
  92.            
  93.         logs_.close(); //çàêðûâàåì ôàéë
  94.         delete t0; // óäàëÿåì ïåðåìåííóþ
  95.         tout << "K-vo Zna4eniy -- " << tount << endl; //âûâîäèì ê-âî ïåðåìåííîé âðåìåíè
  96.         }
  97.     }
  98.     else //åñëè ôàéë íå îòêðûëñÿ
  99.         cout<<"File is not open"<<'\n';
  100.     tout.close(); //çàêðûâàåì ôàéë ñî âðåìåíåì
  101.     pout.close(); //çàêðûâàåì ôàéë ñ ïîòåíöèàëîì
  102.  
  103.     return 0;
  104. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement