r2 InputFi1e”); ifstream in(ar

Автор admin Четверг, 14 мая 2009 11:32

r2 InputFi1e”); ifstream in(argv[l]); assure(in. argv[l]); // Прочитать весь файл в строку и удалить HTML ostringstream ss: ss « in.rdbufO; try { string s – ss.strO; cout « stripHTMLTags(s) « endl; return EXIT_SUCCESS: } catch (runtime_error& x) { cout « x.what О « endl; return EXITJAILURE: } } ///:- 152 Глава 4 • Потоки ввода-вывода В этой программе все содержимое файла читается в строку, для чего результат вызова rdbuf() файлового потока направляется в ostringstream. Далее остается лишь искать пары тегов HTML и удалять их, не беспокоясь о пересечении границ строк, как в предыдущем примере из главы 3. Следующий пример показывает, как работать с двусторонним (то есть доступным для чтения и записи) строковым потоком: //: С04:StringSeeking.cpp {-bor}{-dmc} // Чтение и запись в строковый поток #include #include #include using namespace std: int mainO { string text = “We will hook no fish”: stringstream ss(text): ss.seekp(0. ios::end): ss « ” before its time.”: assert(ss.str() == “We will hook no fish before its time.”): // Замена “hook” на “ship” ss.seekg(8. ios::beg); string


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