ring MARKER. FNAME; // Файл со

Автор admin Суббота, 16 мая 2009 11:32

ring MARKER. FNAME; // Файл со счетчиком номеров ошибок: const string ERRNUM; // Файл с ошибочными строками: const string ERRFILE; stringstream edited; // Измененный файл int counter; public: Showerr(const strings f. const strings en, const string& ef. int c) : CHAP(c). MARKER*”//!”). FNAME(f). ERRNUM(en). ERRFILE(ef). counter(O) {} void replaceErrorsO { ifstream infile(FNAME.c_str()); assure(infile, FNAME.c_str()); ifstream count(ERRNUM.c_str()); if(count) count » counter; int linecount = 1; string buf: ofstream errlines(ERRFILE.c_str(). ios::app); assure(errlines. ERRFILE.c_str()); while(getline(infile, buf)) { // Поиск маркера в начале строки: size_t pos = buf.find(MARKER); if(pos != string::npos) { // Удаление маркера: buf.erase(pos. MARKER.sizeO + 1); // Присоединение счетчика и информации об ошибке: ostringstream out: out « buf « ” // (” « ++counter « “) ” « “Chapter ” « CHAP « ” File: ” « FNAME « ” Line ” « linecount « endl: edited « out.strO; errlines « out.strO; // Запись в файл ошибок } else edited « buf « “\n”; // Простое копирование linecount++: } } void saveFilesO { ofstream outfile(FNAME.c


Комментарии закрыты.