首页 > 编程语言 >c/c++ 收集string的操作汇总

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

时间:2022-12-26 11:11:25浏览次数:46  
标签:std CUtils string 汇总 c++ 空格 str 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;
复制代码

标签:std,CUtils,string,汇总,c++,空格,str,STRING
From: https://www.cnblogs.com/kn-zheng/p/17005276.html

相关文章