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对象前面所有空格:
![复制代码](https://common.cnblogs.com/images/copycode.gif)
/********************************************************** * *功能:去前空格 * *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; }
![复制代码](https://common.cnblogs.com/images/copycode.gif)
3.去掉string对象后面的所有空格:
![复制代码](https://common.cnblogs.com/images/copycode.gif)
/********************************************************** * *功能:去后空格 * *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; }
![复制代码](https://common.cnblogs.com/images/copycode.gif)
4.去掉string对象的前后空格:
![复制代码](https://common.cnblogs.com/images/copycode.gif)
/********************************************************** * *功能:去前后空格 * *str:源字符串 * *反回值:去除前后空格后的字符串 * ***********************************************************/ CUtils::STRING &CUtils::Trim(STRING &str) { return Rtrim(Ltrim(str)); }
![复制代码](https://common.cnblogs.com/images/copycode.gif)
5.string 转成char*的几种方式:
![复制代码](https://common.cnblogs.com/images/copycode.gif)
把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://common.cnblogs.com/images/copycode.gif)