У меня есть файл отчётов (~5 МБ), это простой текстовый файл, в котором содежжаться отчёты. Отчёты начинаются символом, с кодом 2 и заканчиваются символом с кодом 3. Написал простенький примерчик как подсчитать кол-во отчётов в этом файле:
#include <string>
#include <fstream>
#include <iostream>
enum {REP_BEGIN = 2, REP_END = 3};
int main()
{
std::ifstream iFile("f:\\20050531");
std::string str;
long nRepCount = 0;
bool bInRep = false;
while(std::getline(iFile, str))
{
if(str[0] == REP_BEGIN)
{
bInRep = true;
continue;
}
if((str[0] == REP_END) && (bInRep))
{
bInRep = false;
++nRepCount;
}
}
std::cout << "Reports count: " << nRepCount << std::endl;
return 0;
}
Так вот вопрос, можно ли как-нить ускорить процесс подсчёта, а то мой пример работает примерно сек 15-20?