当前位置: 首页 > news >正文

C++之string

C++之string

在这里插入图片描述
在这里插入图片描述

#include <iostream>using namespace std;/*string();//创建一个空的字符串string(const char* s);//使用字符串s初始化string(const string& str);//使用一个string对象初始化另外一个string对象string(int n,char c);//使用n个字符c初始化*/void test1()
{string s1;//默认构造const char *str = "hello woreld!";string s2(str);cout << "s2 = "<<s2<<endl;string s3(s2);cout << "s3 = "<<s3<<endl;string s4(5,'b');cout << "s4 = "<<s4<<endl;
}int main()
{test1();cout << "Hello World!" << endl;return 0;
}

在这里插入图片描述
在这里插入图片描述

#include <iostream>
#include<string>
using namespace std;/*
string& operator=(const char* s);//char*类型字符串 赋值给当前的字符串
string& operator=(const string &s);//把字符串s赋给当前的字符串
string& operator=(char c);//字符赋值给当前的字符串
string& assign(const char *s);//把字符串s赋给当前的字符串
string& assign(const char *s, int n);//把字符串s的前n个字符赋给当前的字符串
string& assign(const string &s);//把字符串s给当前字符串
string& assign(int n, char c);//用n个字符c赋给当前字符串*/void test1()
{string s1 = "hello woreld!";cout << "s1 = "<<s1<<endl;string s2(s1);cout << "s2 = "<<s2<<endl;string s3 ;s3 = 'b';cout << "s3 = "<<s3<<endl;string s4;s4.assign("hello woreld!");cout << "s4 = "<<s4<<endl;string s5;s5.assign("hello woreld!",5);cout << "s5 = "<<s5<<endl;string s6;s6.assign(s5);cout << "s6 = "<<s6<<endl;string s7;s7.assign(5,'b');cout << "s7 = "<<s7<<endl;
}int main()
{test1();cout << "Hello World!" << endl;return 0;
}

在这里插入图片描述
在这里插入图片描述

#include <iostream>
#include<string>
using namespace std;/*
string& operator+=(const char* str);//重载+=操作符
string& operator+=(const char c);//重载+=操作符
string& operator+=(const string& str);//重载+=操作符
string& append(const char *s);//把字符串s连接到当前字符串结尾
string& append(const char *s, int n);//把字符串s的前n个字符连接到当前字符串结尾
string& append(const string &s);//同operator+=(const string& str)
string& append(const string &s,int pos,int n); //字符s中从pos开始的n个字符连接到字符串结尾*/void test1()
{string s1 = "I";cout << "s1 = "<<s1<<endl;s1 += " LOVE GAME";cout << "s1 = "<<s1<<endl;string s2 = ":";s1 += s2;cout << "s1 = "<<s1<<endl;// s1.append(" LOL DNF");// s1.append(" LOL DNF",4);string s3 = " LOL DNF";//s1.append(s3);s1.append(s3,0,4);cout << "s1 = "<<s1<<endl;}int main()
{test1();cout << "Hello World!" << endl;return 0;
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

#include <iostream>
#include<string>
using namespace std;//查找
void test1()
{string str1 = "abcdefgde";int pos = str1.find("de");if(pos == -1){cout<<"no find"<<endl;}else{cout<<"finded , pos = "<<pos<<endl;}//find和rfind的区别//find:从左往右查找;rfind:从右往左查找int pos2 = str1.rfind("de");if(pos2 == -1){cout<<"no find"<<endl;}else{cout<<"finded , pos = "<<pos2<<endl;}
}int main()
{test1();cout << "Hello World!" << endl;return 0;
}

在这里插入图片描述

void test2()
{string str1 = "abcdefgde";//将bc替换成2222str1.replace(1,3,"2222");cout<<str1<<endl;
}
int main()
{test2();cout << "Hello World!" << endl;return 0;
}

在这里插入图片描述
在这里插入图片描述

#include <iostream>
#include<string>
using namespace std;//查找
void test1()
{string str1 = "hello";string str2 = "xello";if(str1.compare(str2) == 0){cout<<"str1 = str2"<<endl;}else if(str1.compare(str2) > 0){cout<<"str1 > str2"<<endl;}else{cout<<"str1 < str2"<<endl;}
}int main()
{test1();cout << "Hello World!" << endl;return 0;
}

在这里插入图片描述
在这里插入图片描述

#include <iostream>
#include<string>
using namespace std;//string字符存取
void test1()
{string str1 = "hello";//cout<<"str1 = "<<str1<<endl;//通过[]访问单个字符for(unsigned int i = 0;i < str1.size();i++){cout<<str1[i]<<" ";}cout<<endl;//通过at方式访问单个字符for(unsigned int i = 0;i<str1.size();i++){cout<<str1.at(i)<<" ";}cout<<endl;//通过[]修改单个字符str1[0] = 'x';cout<<"str1 = "<<str1<<endl;//通过at方式修改单个字符str1.at(1) = 'x';cout<<"str1 = "<<str1<<endl;
}int main()
{test1();cout << "Hello World!" << endl;return 0;
}

在这里插入图片描述
在这里插入图片描述

#include <iostream>
#include<string>
using namespace std;//string字符插入和删除
void test1()
{string str1 = "hello";cout<<"str1 = "<<str1<<endl;//插入str1.insert(1,"222");cout<<"str1 = "<<str1<<endl;//删除str1.erase(1,3);cout<<"str1 = "<<str1<<endl;
}int main()
{test1();cout << "Hello World!" << endl;return 0;
}

在这里插入图片描述
在这里插入图片描述

#include <iostream>
#include<string>
using namespace std;//string字符中求子串
void test1()
{string str1 = "hello";cout<<"str1 = "<<str1<<endl;string subStr = str1.substr(2,2);cout<<"subStr = "<<subStr<<endl;
}//使用的例子  获取邮箱的用户名
void test2()
{string str2 = "zhangsan@sina.com";int pos = str2.find("@");string subStr = str2.substr(0,pos);cout<<"subStr = "<<subStr<<endl;
}int main()
{test2();cout << "Hello World!" << endl;return 0;
}

在这里插入图片描述

http://www.lryc.cn/news/211751.html

相关文章:

  • 多线程---单例模式
  • SpringBoot相比于Spring的优点(自动配置和依赖管理)
  • SAP SPAD新建打印纸张
  • C# 图解教程 第5版 —— 第11章 结构
  • 车载电子电器架构 —— 基于AP定义车载HPC
  • Redis原理-IO模型和持久化
  • PID控制示例
  • GoLand GC(垃圾回收机制)简介及调优
  • AI:40-基于深度学习的森林火灾识别
  • 37基于MATLAB平台的图像去噪,锐化,边缘检测,程序已调试通过,可直接运行。
  • 通过Metasploit+Ngrok穿透内网长期维持访问外网Android设备
  • STM32 CubeMX配置USB HID功能,及安装路径
  • 【错误解决方案】ModuleNotFoundError: No module named ‘transformers‘
  • Mac 配置环境变量
  • 如何在linux服务器上安装Anaconda与pytorch,以及pytorch卸载
  • ansble
  • git常见命令(持续更新)
  • Python基础入门例程23-NP23 删除好友(列表)
  • 识别鼠标选中actor_vtkInteractorStyleTrackballActor
  • C++ Qt关于启动可执行文件存在的问题
  • 微信定时发圈,快人一步不落索
  • 数据分析在程序员职业中的重要性及实践应用
  • 计算机网络_04_传输层
  • 3 ALS算法的优化
  • lvsDR模式
  • Linux系统下配置王爽汇编语言环境
  • scss下解决父组件中使用::v-deep修改样式穿透到子组件的问题
  • Redis的瓶颈在哪里?
  • 如何在spark中使用scikit-learn和tensorflow等第三方python包
  • JS中call()、apply()、bind()改变this指向的原理