低调、勤奋。
分类: C/C++
2012-12-29 20:25:57
一、string的常用操作
string s; 定义一个新的空string对象,命名为s
string s(cp); 定义一个新的string对象,用cp所指向的(以空字符null结束的)c风格字符串初始化该对象。
string s(s2); 定义一个新的string对象,并将它初始化为s2de副本。
is >> s; 从输入流is中读取一个以空白字符分割的字符串,写入s
os << s; 将s写到输出流os中
getline(is, s); 从输入流is中读取一行字符写入到s中
s1 + s2; 连接s1和s2
构造string对象的其它方法:
string s(cp, n); 创建一个string对象,它被初始化为cp所指向的数组的前n个元素的副本
string(s2, pos2); 创建一个string对象,它被初始化为一个已存在的string对象s2中,从下标pos2开始的字符的副本。
注意两者的区别:第一种,是前n个字符,后一种是从pos2位置开始。
二、string类型的高级操作
子串操作
s.substr(pos,n) ;; 返回一个string类型的字符串,它包含s中从下标pos开始的n个字符
s.substr(pos);; 返回一个string类型的字符串,它包含从下标pos开始到s末尾的所有字符
s.substr(); 返回s的副本
s.append(args);; 将args串连接在s后面,返回s引用
s.replace(pos, len, args);; 删除从s中下标pos开始的len个字符,用args指定的字符替换,返回s的引用。
s.replace(b, e, args);; 删除迭代器b 和 e标记的范围内的所有字符,用args替换之,返回s的引用。
s.find( args); //在s中查找args的第一次出现
s.rfind( args); //在s中查找args的最后一次出现
s.find_first_of( args); //在s中查找args的任意字符的第一次出现
s.find_last_of( args); //在s中查找args的任意字符最后一次出现
s.find_first_not_of( args); //在s中查找第一个不属于args的字符
s.find_last_not_of( args); //在s中查找最后一个不属于args的字符
s.compare(s2) ; 比较s 和 s2