目录
1、需要使用头文件
2、声明
3、构造函数和解析函数
4、常用-获取字符串的长度
5、常用-字符串的连接
6、常用-字符串的比较
7、拓展函数-compare( )函数
?8、常用-字符串的复制
?9、常用-字符的寻找
//string类相对于C字符串类的好处: //1)不必担心内存是否足够、字符串长度等等 //2)操作的函数众多,能够满足我们的需要
1、需要使用头文件
#include <string> //注意不是string.h string.h是C字符串的头文件
2、声明
1)string str; //此处就声明了一个字符串变量 //这是直接使用了string的默认构造函数,把它初始化为了一个空字符串 2)string str="Hello"; //此处对string类型进行了初始化
3、构造函数和解析函数
//既然是一个类,就会有构造函数和解析函数 1)string s; //生成一个空字符串s 2)string s(str); //生成str的复制品 3)string (str,stridx,strlen); //将字符串内始于stridx且长度不超过strlen的部分作为字符串的初值 4)string s(begin,end); //以区间begin/end(不包括)内的字符串作为s的初值
4、常用-获取字符串的长度
string s; 1)int str1length = s.string( ); 2)int str1length = s.size( );
//对比C字符型:使用strlen( )函数 //int str1length = char s; //int str1length = strlen(s); //且使用strlen( )函数还需要定义头文件#include<string.h>
5、常用-字符串的连接
string str1; string str2; string str3 = str1 + str2;
//对比C字符型:使用strcat( )函数 //char str1[80] = 'hello'; //char str2[80] = 'world'; //char str3[100] = strcat(str1,str2); //且使用strcat( )函数还需要定义头文件#include<string.h>
6、常用-字符串的比较
string str1; string str2; int com = str1 > str2 ? 1 : str1==str2 ? 0 : -1 //比较str1和str2,从字符串左边开始,依次比较,直到出现差异, //或者其中一个结束为止,例如上述代码: //如果str1>str2则com为1,如果str1和str2相等则com为0,如果str1<str2则返回-1
//对比C字符型:使用strcmp( )函数 //char str1[80]; //char str2[60]; //int com = strcmp(str1,str2); //从头开始,找到第一个不一样的字符,比较ASCII码 //若str1大于str2返回一个正数,若str1小于str2返回一个负数,若s1和s2相等,则返回0 //且使用strcmp( )函数还需要定义头文件#include<string.h>
7、拓展函数-compare( )函数
//compare函数也是一个比较函数,与string里的字符串比较也较为相同 char str1; char str2; int com = str1.compare(str2); //如果str1>str2 则返回正数,如果str1<str2则返回负数,相等则返回0
?8、常用-字符串的复制
string str1 = "ABCD"; string str2 = str1.substr(2); //从字符串str1的第二个字符开始(从0开始计数)复制到\0之前 //str2 = "CD"; string str3 = str1.substr(1,2); //从字符串str1的第一个字符开始(从0开始计数)复制到第二个字符 //str3 = "BCD";
?9、常用-字符的寻找
string str1 = "Abcb"; int index = str1.find("b"); //在str1中寻找b,返回的是从0开始的对应的第一个下标 //index = 1; int index = str1.find("b",2); //在str1中从第2个字符开始寻找,返回从第二个字符开始对应的第一个下标 //index = 3;?
|