LeeBlog

导航

C++ string

昨天学习了string,本以为没神马用,因为看上去跟原有的strcmp,strcpy,strcat,没神马区别,后来据说类中必须要用到他,才开始学习他的几个操作,几个重要操作;( 如果一个字符串是用string定义的,不是用char定义的那么上面三个字符串函数都不能用了,若要用只能用char定义 )( 一下s,str代表字符串,ch代表字符 )

1  string 初始化赋值: string  str( s )( 以s作为str的初值 ),string   str( s  , length )( 以s的前length个字符作为str的初值 ),string  str( s , pos , length ),把s中从pos起的length个字符作为str的初值,string str( n, ch ),以n个ch字符作为str的初值;

2 string运算符:+,把两个字符串相加组成行的字符串 ,如 s3 = s1 + s2,s3 为 s1 和 s2 链接后字符串s3. +=  这个不解释了吧。。。  跟 int中的+= 一样的,相当于strcat。 = 这个更不用说了吧,就是直接赋值,相当于strcpy.[]  这个还是可以用的,str[2],str[3].还有 >, >=,<,<= ,==,!=.

3 string 类大小属性函数:size(  ),很形象  str.size(  )返回的就是str中字符串的个数,str.empty(  )返回的就是str是否为空,若为空则返回1,否则返回0.str.substr( pos,length )返回的就是str从第pos个字符起的length个字符。

4 string重用操作:

( 1 ) 插入:

         insert( pos,s ),在当前字符串的第pos个字符插入字符串s,如str = "1234",s = "abc",str.insert( 1,s ),运行结果str = 1abc234;

   insert( pos,s,length ),在当前字符串的第pos个字符把s的前length个字符插入;

   insert( pos,s,p,length ),在当前字符串的第pos个字符把s中从p开始的length个字符插入;如str = "1234",s = "abc",str.insert( 1,s,1,2 ),运行结果为str = 1bc234;

 ( 2 ) 添加

        append( s ),在当前字符串最后链接s;

        append( s,length ),在当前字符串后把s的前length个字符接上去。

    append( s,pos,length ),在当前字符串后面接上s从pos开始的length个字符串。如str = "1234",s = "abc",

str.insert( s,1,1 ),运行结果为,str = 1234b;

( 3 )其他

       copy( s,length,pos ),据说是这么用的,我用了一直报错,不知怎么办,请大牛赐教。

       erase( pos,lenth ) 把当前字符串中第pos个开始的length个字符都删除

       swap( s1,s2 )这个够形象吧。交换字符串s1,s2;

( 4 )替换

     replace( pos1,length1,s,pos2,length2 )把当前字符中第pos1个字符开始的length1个字符用s中pos2开始的个字符代替。

     replace( pos1,length1,s );

     replace( pos1,length1,s,length2 );

     replace( pos1,length1,n,ch )把当前字符中pos1开始的length1个字符替换成n个ch字符

( 5 )比较

     compare( s );

     compare( pos1,length1,s );

     compare( pos1,length1,s,pos2,length2 );

posted on 2011-06-20 12:39  LeeBlog  阅读(386)  评论(5编辑  收藏  举报