trim
以下を引用
http://homepage2.nifty.com/mattsan/software/samples/sample002.html
#include <cctype>
#include <string>
#include <algorithm>
#include <functional>
std::string trim(const std::string& s)
{
// 左端の検出
std::string::const_iterator left =
std::find_if(s.begin(), s.end(), std::not1(std::ptr_fun(isspace)));
// 右端の検出
std::string::const_reverse_iterator right =
std::find_if(s.rbegin(), s.rend(), std::not1(std::ptr_fun(isspace)));
// 左端と右端の間の文字列を返す
return std::string(left, right.base());
}