String 类

目录

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; 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值