首先有个概念,就是Window和Linux中换行符的区别,参考:
http://blog.csdn.net/wjcquking/article/details/6634504
string& StringUtil::trim(string &input_string)
{
if (input_string.empty())
{
return input_string;
}
input_string.erase(0, input_string.find_first_not_of(" "));
int last_index_of_blank = input_string.find_last_not_of(" ");
//解决Window下换行为:\r\n,而Linux下为\n问题。
if (0 <= last_index_of_blank && 0x0D == input_string[last_index_of_blank])
{
--last_index_of_blank;
}
input_string.erase(last_index_of_blank + 1);
return input_string;
}