所以我想说我有一个字符串
<html>
<head><title>301 Moved Permanently</title><head>
等等
我正在使用str.find();
来查找标题标记的起始位置,它为我提供了正确的位置,但我将如何打印
301 Moved Permanently
我的代码:
string requestedPage = page.GetBody(); //Get the body of a page and store as string "requestedPage"
int subFromBeg = requestedPage.find("<title>"); //Search for the <title> tag
int subFromEnd = requestedPage.find("</title>"); //Search for the </title> tag
std::cout << requestedPage; //before
requestedPage.substr( subFromBeg, subFromEnd );
std::cout << requestedPage; //after
答案 0 :(得分:1)
requestedPage.substr( subFromBeg, subFromEnd );
应该是
requestedPage = requestedPage.substr( subFromBeg, subFromEnd );
std::string::substr
不修改字符串,它返回字符串的修改副本。
答案 1 :(得分:0)
substr就是这样做的。像cout << str.substr(str.find("title") + 6, 21);
之类的东西会在'title'之后从6个字符开始给你一个21个字符的字符串(希望,我把我的索引算得正确,但你明白了。)