c/c++ 收集string的操作汇总

1.一次读取文本文件全部内容到string对象中:

1 ifstream in("readme.txt", ios::in);
2 istreambuf_iterator<char> beg(in), end;
3 string strdata(beg, end);//或者string st;st.assign(beg,end);
4 in.close();

2.去掉string对象前面所有空格:

/**********************************************************
*
*功能:去前空格
*
*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;
 
}

3.去掉string对象后面的所有空格:

/**********************************************************
*
*功能:去后空格
*
*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;
 
}

4.去掉string对象的前后空格:

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

 5.string 转成char*的几种方式:

把string转换为char* 有3中方法:
1.data
如:
string str="abc";
char *p=str.data();
2.c_str
如:string str="gdfd";
    char *p=str.c_str();
3. copy
比如
string str="hello";
char p[40];
str.copy(p,5,0); //这里5,代表复制几个字符,0代表复制的位置
*(p+5)='\0'; //要手动加上结束符
cout < <p;
原文地址:https://www.cnblogs.com/wainiwann/p/3056017.html