C++--STL-string容器的使用,学习代码

来源:互联网 发布:java 通用excel导出 编辑:程序博客网 时间:2024/05/23 23:46




/*
brief:STL中string容器的使用
*/


#include <iostream>
#include "vector"
#include "algorithm"
#include "string"
using namespace std;


void main21()
{
string s1="aaaa";
string s2("bbbb");
string s3=s2;
string s4(10,'a');
cout<<s1<<endl;
cout<<s2<<endl;
cout<<s3<<endl;
cout<<s4<<endl;
}


void main22()//利用指针输出字符串
{
string s1="abcdefg";
for(int i=0;i<s1.length();i++)
{
cout<<s1[i]<<" ";
}

for(string::iterator it=s1.begin();it !=s1.end();it++)//利用迭代器输出
{
cout<<*it<<" ";
}




}


void main23()//复制指定个数个字符到新的内存中
{
string s1="aba";  


const char *cfirst = s1.c_str();//注意只读


cout<<*(cfirst+1)<<endl;
printf("s1:%s \n",s1.c_str());//返回string首地址

char buf[128]={0};
s1.copy(buf,3,0);//只拷贝3个字符,不会变成C风格字符串
cout<<"buf1"<<buf<<endl;


}




void main24()
{
string s1="aaa";
string s2("bbb");
s1=s1+s2;
cout<<s1<<endl;


string s3="333";
string s4("444");
s3.append(s4);//字符串拼接一下
cout<<s3<<endl;
}




//字符串的查找和替换
void main25()
{



/*string s1="wh hooell333 33 33 wgh ddsfds  88d";
int  index=s1.find("333",0);
cout<<index<<endl;
int offindex =s1.find("333",0);
while(offindex != string::npos)
{
cout<<offindex<<endl;
offindex=offindex+1;
offindex=s1.find("333",offindex);
*/




string s1="wh hooell333 33 33 wgh ddsfds  88d";
int offindex =s1.find("333",0);
while(offindex != string::npos)
{
cout<<offindex<<endl;
s1.replace(offindex,3,"666");
offindex=offindex+1;
offindex=s1.find("333",offindex);

}
cout<<s1<<endl;
}




void main26()//删除一个字符
{
string s1="hello world";
string::iterator it=find(s1.begin(),s1.end(),'l');
if( it !=s1.end())
{
s1.erase(it);
}
cout<<s1<<endl;

s1.erase(s1.begin(),s1.end());
cout<<s1.length()<<endl;


}




void main27()//插入元素在指定位置前面
{

string s1="hello world";
s1.insert(0,"dddddd");
cout<<s1<<endl;


}


void main28()
{
//  transform()
}




void main()
{
// main21();
// main22();
// main23();
// main24();
//  main25();
// main26();
main27();
}
0 0
原创粉丝点击