Prima di tutto devi togliere #include <string.h>. #incude <string> basta e avanza.
Visto che hai la classe string tutto si risolve con:
1. Trova l'indice dove compare il primo '<'. chiamiamolo i
2. Trova l'indice dove compare il primo '>'. chimiamolo j
3. string sub1 = text.substr(i,j-1);
4. text = text.substr(j);
e così via fino alla fine della riga.
size_t i,j;
string sub;
string text = "testo di <prova> con <tante> parole dentro le <parentesi>";
while((i = text.find_first_of('<')) != string::npos)
{
j = text.find_first_of('>');
if(j != string::npos)
sub = text.substr(i+1,j-i-1);
else
sub = text.substr(i+1);
std::cout << sub << endl;
text = text.substr(j+1);
}
Nessun comparazione o altro. Molto + efficente e usa le funzioni contenute nella classe string.