删除字符串中的空格(空字符)

C++中的字符串过滤空格(空字符),可以使用string自带的方法实现。

代码:

#include<iostream>
#include<string>
using namespace std;

/**********************************************************
*
*功能:去除字符串中的空字符
*
*strSrc:源字符串
*
*反回值:NONE
*
***********************************************************/
void trimAllSpace(string& strSrc)
{
    string delem = " \t";   //空字符: 空格或者tab键
    string::size_type pos = strSrc.find_first_of(delem, 0);
    while (pos != string::npos)
    {
        strSrc.erase(pos, 1);
        pos = strSrc.find_first_of(delem, 0);
    }
    return;
}

/**********************************************************
*
*功能:去除字符串中前导空字符
*
*strSrc:源字符串
*
*反回值:NONE
*
***********************************************************/
void trimLeftSpace(string& strSrc)
{
    string delem = " \t";   //空字符: 空格或者tab键
    string::size_type pos = strSrc.find_first_not_of(delem);
    if (pos != string::npos)
    {
        strSrc.erase(0,pos);
    }
    return;  
}

/**********************************************************
*
*功能:去除字符串中尾部空字符
*
*strSrc:源字符串
*
*反回值:NONE
*
***********************************************************/
void trimRightSpace(string& strSrc)
{
    string delem = " \t";   //空字符: 空格或者tab键
    string::size_type pos = strSrc.find_last_not_of(delem);
    if (pos != string::npos)
    {
        strSrc = strSrc.substr(0,pos+1);
    }
    return; 
}

/**********************************************************
*
*功能:去除字符串中两端空字符
*
*strSrc:源字符串
*
*反回值:NONE
*
***********************************************************/
void trimLeftRightSpace(string& strSrc)
{
    trimLeftSpace(strSrc);
    trimRightSpace(strSrc);
    return; 
}

 

posted @ 2015-11-23 17:28  第1天  阅读(3658)  评论(0编辑  收藏  举报