Podział pliku html( txt ) na mniejsze

0

Witam, mam do napisania program, który dzieliłby plik html na mniejsze pliki i umieszczał je w kolejnych plikach. Każdy kolejny plik powinien zawierać fragment pomiędzy <p> </p> lub <table> </table>. Potrzebuje pomocy w napisaniu warunku dla którego program zaczynałby zapisywać kod do pliku po natrafieniu na <p> i zakończeniu go po natrafieniu </p>, a następnie przechodził dalej. Jestem początkujący, napisałem już kilka programów więc jakieś podstawy mam, jednak jeśli chodzi o pliki mam spory problem. Na razie chciałbym żeby jedynie wyświetlał fragment kodu html który mnie interesuje.

#include<fstream>
#include<cstdlib>
#include<iostream>
#include<string>

using namespace std;
int main(){
	
	char name[80];
	string word;

	fstream file;
	cout<<"Podaj nazwe pliku : ";
	cin>>name;
	
	file.open(name ,ios::in);
	
	if(file.good() == false){
		cout<<"Plik nie istnieje !"<<endl;
		exit(0);
	}
	
		for(;;){
			getline(file, word);
			if(word == "<p>"){
				do{
				getline(file, word )
				cout<<word;
				}while(word == "</p>");
				}
		}
		file.close();
	return 0;
}
0

a jak wychodzisz z petli for(;;)?

0

doszedłem do tego momentu (na razie dla head), zmieniłem pętle, mysle ze na tym powinienem bazowac i po prostu dopisywac kolejne warunki, jesli mozna to zrobic prosciej prosze o podpowiedz.

fstream plik;
plik.open("nastepny.txt",ios::out);

		while(!file.eof()){
			file>>word;
		if(word == "<head>"){
			cout<<"<head>";
			plik<<"<head>";
		do{
			file>>word;
			cout<<word<<" ";
			plik<<word<<" ";
		 
	    }while(word !="</head>");
	   		plik.close();
	   }
0

uodpornij ten kod na brak </head> w pliku

0

W założeniu projektowym mam przygotować przykładowe pliki html, żeby zademonstrować działanie programu, więc nie wiem czy jest sens żebym robił coś takiego. Chyba że miałeś co innego na myśli.

1 użytkowników online, w tym zalogowanych: 0, gości: 1