代码改变世界

C++实现去掉string字符串前后的空白字符

2014-11-24 23:30  rangers  阅读(3548)  评论(0编辑  收藏  举报

C++标准库提供的字符串类string没有提供类似CString中Trim方法,该方法功能为去除字符串前后的空白字符。利用string自身一些方法可以很容易实现该功能。

如下:

void Trim(string & str)
{
	string blanks("\f\v\r\t\n ");
	str.erase(0,str.find_first_not_of(blanks));
	str.erase(str.find_last_not_of(blanks) + 1);
}

 测试如下:

int _tmain(int argc, _TCHAR* argv[])
{
	string s1("\t   string  ");
	cout << "[" << s1 << "]" << endl;
	Trim(s1);
	cout << "After Trim:\n";
	cout << "[" << s1 << "]" << endl;
	return 0;

}