string容器

  • 本质:string是C++风格的字符串,而string本质上是一个类
  • string和char*的区别
    • char*是一个指针
    • string是一个类,类内部封装了char*,管理这个字符串,是一个char*型的容器
  • 特点
    • string类内部封装了很多成员方法,例如:查找find,删除delete,替换replace,插入insert
    • string管理char*所分配的内存,不用担心复制越界和取值越界等,由类内部进行负责
  • string构造函数
    • string();        //创建一个空的字符串,例如:string str;
    • string(const char* s);          //使用字符串s初始化
    • string(const string& str);         //使用一个string对象初始化另一个string对象
    • string(int n,char c);           //使用n个字符c初始化
  • string赋值操作
    • string& operator=(const char* s)
    • string& operator=(const string &s)
    • string& operator=(char c)
    • string& assign(const char* s)
    • string& assign(const char* s,int n)           //将s 的前n个字符赋值给该字符串
    • string& assign(const string &s)
    • string& assign(int n,char c)
  • string字符串拼接
    • string& operator+=(const char* str)
    • string& operator+=(const char c)
    • string& operator+=(const string& str)
    • string& append(const char* s)
    • string& append(const char* s,int n)            //把字符串的前n个连接到字符串结尾
    • string& append(const string& str)
    • string& append(const string& str,int pos,int n)      //字符串从pos开始的n个字符连接到字符串结尾
  • string查找和替换(查找指定字符串是否存在 / 在指定位置替换字符串)
    • int find(const string& str,int pos = 0) const;     //查找str第一次出现的位置,从pos开始查找
    • int find(const char* s,int pos = 0) const;
    • int find(const char* s,int pos,int n) const;     //从pos开始查找s的前n个字符第一次位置
    • int find(const char c,int pos = 0) const;
    • int rfind(const string& str,int pos = npos) const;     //查找str最后一次,从pos开始查找
    • int rfind(const char* s,int pos = npos) const;
    • int rfind(const char* s,int pos,int n) const;     //从pos查找s的前n个字符最后一次位置
    • string& replace(int pos,int n,const string& str);     //替换从pos开始n个字符为字符串str
    • string& replace(int pos,int n,const char* s);    
  • string字符串比较
    • 比较方式:按字符串的ascll码进行对比
    • = 返回 0
    • > 返回 1
    • < 返回 -1
      • int compare(const string &s) const
      • int compare(const char *s) const
  • string字符存取
    • char& operator[ ] (int n);    //通过[ ]方式取字符
    • char& at (int n);     //通过at方法获取字符
  • string插入和删除
    • string&  insert(int pos ,const char* s);
    • string&  insert(int pos ,const string& str);
    • string& insert(int pos , int n ,char c);     //在指定位置插入n个字符 c
    • string& erase(int pos ,int n=npos);    //删除从pos开始的n个字符
  • string子串(从字符串获取想要的子串)
    • string substr(int pos;int n=npos) const;      //返回由pos开始的n个字符组成的字符串
#include <iostream>
#include <string>

using namespace std;

int main()
{
	string s = "lwj19983411603@163.com";
	int pos = s.find('@',0);
	string s1 = s.substr(0, pos);
	cout << s1 << endl;

	return 0;
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值