我是C++和cgicc的新手,我想知道是否有一种简单的方法可以将get参数解析为cgi脚本??action=yes&function=no成阵列或类似的东西?
lad*_*dge 11
这是一个使用C++ 11中包含的正则表达式库的简单函数.
#include <regex>
// ...
std::map<std::string, std::string> Foo::Parse(const std::string& query)
{
std::map<std::string, std::string> data;
std::regex pattern("([\\w+%]+)=([^&]*)");
auto words_begin = std::sregex_iterator(query.begin(), query.end(), pattern);
auto words_end = std::sregex_iterator();
for (std::sregex_iterator i = words_begin; i != words_end; i++)
{
std::string key = (*i)[1].str();
std::string value = (*i)[2].str();
data[key] = value;
}
return data;
}
Run Code Online (Sandbox Code Playgroud)