读书人

paip.c++ bcb string 变换操作大总结

发布时间: 2013-10-15 16:47:37 作者: rapoo

paip.c++ bcb string 转换操作大总结.

paip.c++ bcb string 转换操作大总结.

1.StringTrimleft (customzi)
2.int2str (customzi)
3.replace_all (customzi)
4.StringTrimleftAndTab (customzi)
5.UnicodeString >>string string line= this->Edit1->Text.t_str();
6.stirng >> String ( UnicodeString strA = stirng.c_str();)
7.StrToInt (vcl/sysUtil.hpp)


作者Attilax , EMAIL:1466519819@qq.com
来源:attilax的专栏
地址:http://blog.csdn.net/attilax


void StringTrimleftCa(::std::string & str)
{
//left
str.erase(0,str.find_first_not_of("\r\t\n "));
//str.erase(s.begin(), std::find_if(s.begin(), s.end(), std::not1(std::ptr_fun<int, int>(std::isspace))));
//right
//str.erase(std::find_if(s.rbegin(), s.rend(), std::not1(std::ptr_fun<int, int>(std::isspace))).base(), s.end());
}

string StringTrimleft(string str)
{
string str2=str;
StringTrimleftCa(str2);
return str2;

}

#include <strstream>
string int2str(int&i) {
string s;
stringstream ss(s);
ss <<i;

return ss.str();
}


string& replace_all(string& str,const string& old_value,const string& new_value)
{
while(true) {
string::size_type pos(0);
if( (pos=str.find(old_value))!=string::npos )
str.replace(pos,old_value.length(),new_value);
else break;
}
return str;
}

string StringTrimleftAndTab(string str)
{
string str2=str;
treex* tx=new treex();
string line2= tx-> convertLeft2space (str );

string lineTrimed=StringTrimleft( line2);
return lineTrimed;

}



string treex::convertLeft2space(string line)
{
line=replace_all(line,"│"," ");
line=replace_all(line,"├"," ");
line=replace_all(line,"─"," ");
line=replace_all(line,"└"," ");

return line;
}


int treex::indentLevel(string line)
{
string line2= convertLeft2space (line );

string lineTrimed=StringTrimleft( line2);
int lineTrimedLenth=lineTrimed.length();
int n= line2.length()- lineTrimedLenth ;
int level=n/4;
return level;
}

读书人网 >网络基础

热点推荐