string container

来源:互联网 发布:淘宝卖家助手 编辑:程序博客网 时间:2024/04/28 17:00
//C++的string兼容C的string.h#include<algorithm>#include<iostream>#include<string>using namespace std;int main(){string s,s1;//给string对象赋值/*s="hello,C++STL.";//直接赋值s1="abc";*/char ss[5000];//把字符指针赋值给字符串对象//scanf的输入速度比cin快得多,但它是C语言的函数,不支持string对象,同理printf也是    /*scanf("%s",ss);//理解可以不要&的含义,直接操作地址s=ss;//把整个字符数组赋值给string对象s=s1;*///从string对象尾部添加字符/*s=s+'a';*///从string对象尾部追加字符串/*s=s+"bcd";//采用"+"操作符s+=s1;s.append("123");//采用append()方法s.append(s1);*///给string对象插入字符//可用insert()方法把一个字符插入到迭代器位置之前/*string::iterator it;it=s.begin();s.insert(it+1,'p');//把字符'p'插入到下标为1的字符前    *///访问string对象的元素/*    cout<<s[0]<<endl;cout<<s[0]-'h'<<endl;//两个相同字符相减值为0*///删除string对象的元素/*s.erase(it+3);//删除下标3的元素s.erase(it,it+4);//删除下标0~3的元素    *///清空字符串/*s=" ";*///返回string对象的长度//是否为空,empty(),Y 1,N 0/*printf("%d %d %d %d\n",s.length(),s.size(),s.empty(),strlen(ss));//size()与length()的区别是?若ss[]为空,strlen()返回什么???????不是0    *///替换string对象的字符/*    s.replace(3,3,"good");//下标为3的元素开始的3个字符替换为"good"*///搜索string对象的元素或子串/*cout<<s.find('e')<<endl;//查找第一个字符'c',返回下标值cout<<s.find("hello")<<endl;//查找第一个子串"hello",返回下标值cout<<s.find("hellw")<<endl;//查找第一个子串"hellw",查不到则返回4294967295    *///string对象的比较//compare()方法,它比对方大,返回1;小,-1;等,0/*cout<<s.compare("cat")<<endl;*///用reverse反向排序string对象/*reverse(s.begin(),s.end());//当然可以部分反向排序*/    //输出string/*cout<<s<<endl;//C++printf(s.c_str());//C//用printf形式*/return 0;}//使用方法,部分屏蔽/**/


	
				
		
原创粉丝点击