Как загрузить файл .txt в отдельные файлы .html?C ++ - PullRequest
0 голосов
/ 11 декабря 2018

Мне нужно прочитать файл HTML, а затем разделить его отдельные части на отдельные файлы HTML.

Например:

<html lang="en">
<head></head>
<body>
<ul>something 123</ul>
<p>something else 123</p>
<p>blabla</p>
<table>example</table>
</body>
</html>

Все между <ul> и </ul> должнобыть сохраненным в другом файле HTML, то же самое со всем между <p> и </p>.

Мне нужно использовать библиотеку <fstream>, и я не знаю, как использовать векторы, поэтому мне нужно сделать это, вероятно,без них, если нет простого решения.

На данный момент основная проблема заключается в том, как прочитать файл, пока не будет найдена строка?Я имею в виду, например, - string table = "<table>" найдено, а затем программа сохраняет все после <table>, пока не найдет string end_table = "</table>".

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 11 декабря 2018

Вы можете использовать find, чтобы найти начальный и конечный тег тела следующим образом:

#include <iostream>
#include <string>

using namespace std;

int main(int argc, char* argv[]) {
   string line = "some line with <body> in it";
   string bodytag = "<body>";

   if(line.find(bodytag) != string::npos) {
     cout << "found" << endl;
   }

   return 0;
 }

Затем просто считывайте строки из файла, пока не найдете тег <body>, и выводите их доВы найдете тег </body>.Вам может потребоваться изменить это, если содержимое, которое необходимо сохранить, появляется после открывающего тега тела или перед закрывающим тегом тела в той же строке.Ваш вход не содержит этого, так что это, скорее всего, не проблема.

...