Click here to Skip to main content
15,886,873 members
Please Sign up or sign in to vote.
1.00/5 (2 votes)
See more:
Heya

I got a long string from a HTML request. I need to find the following substring within:

<&randomtag>

However when I'm trying to search it gives me wrong results.

If I replace the string with something, not containing "<" ">" it works flawlessly.

Relevant code:
(not copied, might have some typos, but works without special characters)

std::string readBuffer; //longlongstring
std::string starttag;
std::string endtag;

size_t sstart;
size_t send;

//...................

sstart=readBuffer.find(starttag);
send=redBuffer.find(endtag);

correction=readBuffer.substr(sstart,send-sstart);

std::cout << correction << std::endl;


So yeah, if anyone happens to know a way to fix this, I'd very much be greatful :)
Thanks in advance
Posted
Updated 10-Mar-13 4:33am
v3
Comments
Leo Chapiro 10-Mar-13 11:54am    
I think you got already an answer: c stdstring search with special characters

1 solution

1. what do you mean- wrong result?
2. I just tried to run:
C++
std::string readBuffer = "dgsdg sdfgsd sdfg ds <&randomtag> fghhsdfgsd dfgd sdg dfgdg dfg  ghdfh sdfg";
std::string starttag = "<&randomtag>";
std::string endtag = "";
 
size_t sstart;
size_t send;
 
//...................

sstart=readBuffer.find(starttag);
send=readBuffer.find(endtag);
 
std::string correction = readBuffer.substr(sstart,send-sstart);


and it worked as expected. correction variable was holding "<&randomtag> fghhsdfgsd dfgd sdg dfgdg dfg ".
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900