"ルータ"のURLのパス部分をREST Webサービスの一部として解析する必要があります。私はHTTP要求を処理するためにPIONライブラリを使用しています。このライブラリは、URLパスの一部を取得するための機能を持っていないようです。私はこれを行う別のライブラリを見つけることができません。 http://www.w3.org/Library/src/HTParse.cは、パスの一部を示しません。howtoは、C++を使用してベクトルへのパスを解析します
は、これを行うの迅速、より堅牢な方法があります:
std::vector<std::string> parsePath(std::string path)
{
std::string delimiter = "/";
std::string part = "";
std::size_t firstPos = 0;
std::size_t secondPos = 0;
std::vector<std::string> parts;
while (firstPos != std::string::npos)
{
firstPos = path.find(delimiter, firstPos);
secondPos = path.find(delimiter, firstPos + 1);
part = path.substr(firstPos + 1, (secondPos - 1) - firstPos);
if (part != "") parts.push_back(part);
firstPos = secondPos;
}
return parts;
}
おそらく[this](http://stackoverflow.com/q/2616011/777186)が役に立ちます。この方法では、「ベクトル」は返されませんが、必要に応じて「ベクトル」に変換するのは困難ではありません。 – jogojapan
関連:http://stackoverflow.com/questions/2616011/easy-way-to-parse-a-url-in-c-cross-platform – HostileFork
ええ、私はそれを見ましたが、彼らはURLを解析しています。だから彼らはあらゆる種類のパラメータを推定したいと思っています。私はパスを分割したいので、それぞれ別々に読み込み、ルートを推論することができます。 –