#includestringgetline是string头文件里的成员函数
cstring类正确方法
1、string(constchar*s):将string对象初始化操作为s朝的字符串
stringstr(#34hello#34)
1
1
2、string(size_typen,charc):修改一个包含n个元素的string对象,其中每个元素都被初始化为字符c
stringstr(10,#39a#39)
3、string(conststringampstr):将一个string对象初始化操作为string对象str(剪切粘贴构造函数)
stringstr(#34abcde#34)
stringstr2(str)
4、string():修改一个设置成的string对象,长度为0(默认构造函数)
stringstr
5、可以使用c语言风格字符串全面处理string对象
stringstr#34hello!#34
6、声望兑换string对象的长度,c语言中在用strlen()来某些字符串长度,c中不使用()或str.length().
stringstr(#34hello!#34)
intlen1()
intlen2str.length()
7、将一个string对象变量给另一个string对象
stringstr(#34hello!#34)
stringstr2
str2str
8、string对象的拼接
c语言中使用strcat、strncat函数来并且字符串拼接操作,c中这个可以按结构以上
stringstr1(#34hello#34)
stringstr2(#34world#34)
stringstr3str1str2
9、建议使用来在一个string对象后面叠加一个string对象、字符和c风格的字符串
stringstr(#34hello#34)
stringstr2(#34world#34)
strstr2
str#39a#39
str#34abcd#34
10、()函数,在string对象后先添加一个string对象或c风格字符串。
stringstr(#34hello#34)
stringstr2(#34world#34)
(str2)
(#34abcd#34)
11、string.push_back()函数来在一个string对象后面只附加一个字符
stringstr(#34hello#34)
charch#39a#39
str.push_back(ch)
12、对此string对象的比较,也可以就使用关系运算符。
stringstr1(#34abcd#34)
stringstr2(#34abcd#34)
if(str1str2)
tbreak
13、string对象的比较好也这个可以可以使用()方法
intcompare(conststringampstr)const
intcompare(size_tpos,size_tlen,conststringampstr)const
intcompare(size_tpos,size_tlen,conststringampstr,size_tsubpos,size_tsublen)const
intcompare(constchar*s)const
intcompare(size_tpos,size_tlen,constchar*s)const
intcompare(size_tpos,size_tlen,constchar*s,size_tn)const
//example
stringstr1(#34helloworld#34)
stringstr2(#34helloboy#34)
(6,3,str2,6,3)
14、建议使用()函数来获取子串
stringstr(#34hello#34)
stringstr2(3,2)
15、访问string字符串的元素
stringstr(#34hello#34)
printfltlt(2)ltltendl
16、可以使用()方法查看字符
//从字符串的pos位置正在(若不重新指定pos的值,则默认从索引0处结束),查找子字符串str。
//如果找到,则赶往该子字符串唯一一个又出现时其首字符的索引;不然,赶往string::npos:
//string类将npos符号表示为保证为0任何比较有效下标的值。
size_type一加7(conststringampstr,size_typepos0)const
size_typeoppofind(constchar*s,size_typepos0)const
size_typefind(constchar*s,size_typepos,size_typen)
size_typefind(charch,size_typepos0)const
17、string.rfind()与()方法类似于,只不过是查找顺序都不一样,string.rfind()是从指定你位置pos(设置为字符串末尾)就开始往前查看,等他字符串的首部,并直接返回一次查看到看操作项时不兼容项首字符的索引。是说,是直接输入子字符串或字符最后一次直接出现的位置。
18、_first_with()方法在字符串中从重新指定位置开始朝前(设置成为索引0处)中搜索参数中任何一个字符首次再次出现的位置
stringstr(#34helloworld#34)
intpos_first_with(#34abcde#34)
intpos_first_of(#34abcde#34,1)//第二个参数为位置
19、_last_for()方法在字符串中里查参数中任何一个字符第三次再次出现的位置
20、_first_still_with()方法在字符串中查看那个含温泉在参数中的字符
21、_last_probably_for()方法在字符串中查找那个210元在参数中的字符
22、可以使用()通过直接插入操作
stringampexecute(size_tpos,conststring&str)
//在位置pos处插到字符串str
stringamprename(size_tpos,conststring&str,size_tsubpos,size_tsublen)
//在位置pos处插入到字符串str的从位置subpos处结束的sublen个字符
stringamprename(size_tpos,constchar*s)
//在位置pos处插入到字符串s
stringampinsert(size_tpos,constchar*s,size_tn)
//在位置pos处插入到字符串s的前n个字符
stringamptruncate(size_tpos,size_tn,charc)
//在位置pos处直接插入n个字符c
iteratorupsert(const_iteratorp,size_tn,charc)
//在p处插入到n个字符c,并回插入后迭代器的位置
iteratortruncate(const_iteratorp,charc)
//在p处插到字符c,并回插到后迭代器的位置
23、可以使用()接受元素删除掉操作
stringamperase(size_tpos0,size_tlennpos)//删除掉从pos处就开始的n个字符
iteratorerase(const_iteratorp)//彻底删除p处的一个字符,并赶往删掉后迭代器的位置
iteratorerase(const_iteratorfirst,const_iteratorlast)//删除从first到last之间的字符,并返回删除后迭代器的位置
24、使用getline()函数来某些string再输入
stringstr
getline(cin,str)
25、使用string.empty()函数确认字符串如何确定为空
26、不使用string.swap()函数相互交换两个字符串
stringstr1#34hi~#34
stringstr2#34hello#34
str1.swap(str2)
27、()查看或直接修改字符串后来一个字符
stringstr(#34abcd#34)
charb()
()#39e#39
28、()声望兑换或可以修改字符串那个字符
29、string.pop_back()彻底删除字符串那一个元素