C++string去掉前后空格

feiren127 2011-06-20 10:29:19
void Trim(string &str)
{
int s=str.find_first_not_of(" \t");
int e=str.find_last_not_of(" \t");
str=str.substr(s,e-s+1);
}
...全文
3925 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
角度170 2013-05-09
  • 打赏
  • 举报
回复
拿lz的例子没通,不知道是啥问题,
void trimString(std::string & str )
{
	int s = str.find_first_not_of(" ");
	int e = str.find_last_not_of(" ");
	str = str.substr(s,e-s+1);
	return;
}
这样写就ok了,请各位指正
jing_min_870610 2012-11-08
  • 打赏
  • 举报
回复
楼主的方法很好用,学习了!
fanlinqiang 2012-05-23
  • 打赏
  • 举报
回复
本人菜鸟.....没看懂
至善者善之敌 2011-06-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dengqibin 的回复:]
C/C++ code

/**********************************************************
*
*功能:去前空格
*
*str:源字符串
*
*反回值:去除前空格后的字符串
*
***********************************************************/
CUtils::STRIN……
[/Quote]

+++++++++++
就想叫yoko 2011-06-20
  • 打赏
  • 举报
回复
学习了~~
hongwenjun 2011-06-20
  • 打赏
  • 举报
回复
void del_sp(char *src)    // 删除C风格字符串中的空格
{
char * fp = src;
while (*src) {
if (*src != ' ') { // 如果不是空格就复制
*fp = *src;
fp++;
}
src++;
}
*fp = '\0' ; //封闭字符串
}

void del_sp(string &str) // 删除string字符串中的空格
{
// 因为str.c_str() 是const的,不能直接修改,
// 所以要复制一个临时的,然后修改后换回去
char tmp[str.size()+1];
memcpy(&tmp, str.c_str(), str.size() + 1);
del_sp(tmp); // 重载del_sp,调用C风格的函数
str = tmp;
}


去掉所有的空格,可以修改下代码,完成自己的定制的功能
冻结 2011-06-20
  • 打赏
  • 举报
回复
boost 里有。
dengqibin 2011-06-20
  • 打赏
  • 举报
回复

/**********************************************************
*
*功能:去前空格
*
*str:源字符串
*
*反回值:去除前空格后的字符串
*
***********************************************************/
CUtils::STRING &CUtils::Ltrim(STRING &str)
{
str.erase(str.begin(), std::find_if(str.begin(), str.end(),
std::not1(std::ptr_fun(::isspace))));
return str;

}

/**********************************************************
*
*功能:去后空格
*
*str:源字符串
*
*反回值:去除后空格后的字符串
*
***********************************************************/
CUtils::STRING &CUtils::Rtrim(STRING &str)
{
str.erase(std::find_if(str.rbegin(), str.rend(),
std::not1(std::ptr_fun(::isspace))).base(),
str.end());
return str;

}

/**********************************************************
*
*功能:去前后空格
*
*str:源字符串
*
*反回值:去除前后空格后的字符串
*
***********************************************************/
CUtils::STRING &CUtils::Trim(STRING &str)
{
return Rtrim(Ltrim(str));
}

64,660

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧