#include <iostream>
#include <string>
std::string getValue(const std::string &html)
{
static const std::string VALUE = "value";
static const char DOUBLE_QUOTE = '"';
std::string result;
std::size_t pos = html.find(VALUE);
if (pos != std::string::npos)
{
std::size_t beg = html.find_first_of(DOUBLE_QUOTE, pos);
if (beg != std::string::npos)
{
std::size_t end = html.find_first_of(DOUBLE_QUOTE, beg + 1);
if (end != std::string::npos)
{
result = html.substr(beg + 1, end - beg - 1);
}
}
}
return result;
}
int main()
{
std::string html = "<input type=\"hidden\" name=\"wtkn\" value=\"56e45dbe_wNIT/DcufUPvZOL33jmkyqGpKxw=\">";
std::cout << "HTML: " << html << "\n";
std::cout << "value: " << getValue(html) << "\n";
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgoKc3RkOjpzdHJpbmcgZ2V0VmFsdWUoY29uc3Qgc3RkOjpzdHJpbmcgJmh0bWwpCnsKCXN0YXRpYyBjb25zdCBzdGQ6OnN0cmluZyBWQUxVRSA9ICJ2YWx1ZSI7CglzdGF0aWMgY29uc3QgY2hhciBET1VCTEVfUVVPVEUgPSAnIic7CgkKCXN0ZDo6c3RyaW5nIHJlc3VsdDsKCQoJc3RkOjpzaXplX3QgcG9zID0gaHRtbC5maW5kKFZBTFVFKTsKCWlmIChwb3MgIT0gc3RkOjpzdHJpbmc6Om5wb3MpCgl7CgkJc3RkOjpzaXplX3QgYmVnID0gaHRtbC5maW5kX2ZpcnN0X29mKERPVUJMRV9RVU9URSwgcG9zKTsKCQkKCQlpZiAoYmVnICE9IHN0ZDo6c3RyaW5nOjpucG9zKQoJCXsKCQkJc3RkOjpzaXplX3QgZW5kID0gaHRtbC5maW5kX2ZpcnN0X29mKERPVUJMRV9RVU9URSwgYmVnICsgMSk7CgkJCQoJCQlpZiAoZW5kICE9IHN0ZDo6c3RyaW5nOjpucG9zKQoJCQl7CgkJCQlyZXN1bHQgPSBodG1sLnN1YnN0cihiZWcgKyAxLCBlbmQgLSBiZWcgLSAxKTsKCQkJfQoJCX0KCX0KCQoJcmV0dXJuIHJlc3VsdDsKfQoKaW50IG1haW4oKQp7CglzdGQ6OnN0cmluZyBodG1sID0gIjxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgbmFtZT1cInd0a25cIiB2YWx1ZT1cIjU2ZTQ1ZGJlX3dOSVQvRGN1ZlVQdlpPTDMzam1reXFHcEt4dz1cIj4iOwoJc3RkOjpjb3V0IDw8ICJIVE1MOiAiIDw8IGh0bWwgPDwgIlxuIjsKCXN0ZDo6Y291dCA8PCAidmFsdWU6ICIgPDwgZ2V0VmFsdWUoaHRtbCkgPDwgIlxuIjsKCXJldHVybiAwOwp9