C++的sting类使用
2021-03-02 10:26
标签:char user pos tde for ring 取出 转换 结束 一: string作为C++常用的一个类,得熟悉它的一些常用的方法。在使用这个类之前,得加上头文件 #include #include 二: (1)获取string的元素个数方法,还有访问string中的每个元素的方法 void test01() { string str1="hello world!good bye"; for(i=0;i try } 注:str1.size()和str1.length()获取得到的值是一样的,也就是这两个方法都能得到字符串的长度; str1[i]和str1.at[i]都能获取得到当前下标对应的字符,但是执行 “ cout
(2)字符串的拼接 注:字符串可以使用 ”+“ 或者 方法“ append ()” 来接接,例子如下: void test02() (3)字符串的查找和替换 注:如下的代码str1.find("de")和str1.rfind("de")的返回值都是5,也就是结果相同,但是这两个方法的查找顺序是相反的;str1.rfind("de")是从字符串尾部开始查找的。 void test03() string str2="zhoukeliang ni hao"; str2.replace(1,4,"66"),这个表示从下标1开始,后面的4个字符串替换为“66”;而下标1 为 ”h",也就是将"zhoukeliang ni hao" 改成了 ” z66eliang ni hao “ (4)字符串的比较 void test04() 注:str1.compare(str2),当str1和str2相等时,返回的值就是0; 当str1大于str2时,返回的值就为1; 当str1小于str2时,返回的值小于0; (5)截取字符串 string str.substr(nStart, nLength) // 从str字符串nStart位置开始截取nLength个字符 , 如果nLength 大于剩余的字符则截取到str结束为止 例子如下: void test05() string email="234358125@qq.com"; string username; 注:str1.substr(3,4);截取出字符串 “ zhou ” ; email.substr(0,pos); 截取出 “ 234358125 ”,也就是邮箱对应的用户名。 (6)插入字符串 string str.insert( int p0,const string &s ) //在字符串str的p0位置之后插入字符串s void test06() 输出为:abc000zhoukeliang (7)删除字符串 string str.erase(int pos,int n) //删除str字符串里面从pos开始的n个字符 例子如下: void test07() 输出的结果为:abczhoukeliang 也就是删除str1里面从字符0开始的3个字符 ” 000 ” (8)string类型转为char类型 void test08() { string str1="abczhoukeliang"; const char *buff=str1.c_str(); } (9)const char *会隐式转换成string类型,但是string就不能隐式转换成const char * 例子如下: void fun1(string s) void fun2(char *p) void test09() fun1(buff); //const char *隐式转换成string fun2(str2) ; //代码这里是有错误的,string不能隐式转换成const char * ,fun2(str2)这样会报错 C++的sting类使用 标签:char user pos tde for ring 取出 转换 结束 原文地址:https://www.cnblogs.com/Unclebigdata/p/14410327.html
int i;
cout cout for(i=0;i
cout }
cout
cout }
cout
{
cout }
catch(out_of_range &e)
{
cout cout }
catch(...)
{
cout }
{
string str1="my";
string str2="love beijing";
string str3="good good study";
str1=str1+str2;
cout str3.append(" day day up");
cout }
{
string str1="myabcdef";
int pos=0;
pos=str1.find("de");
cout pos=str1.rfind("de");
cout
str2.replace(1,4,"66");
cout }
{
string str1="abc";
string str2="efg";
if(str1.compare(str2)==0)
{
cout }
else if(str1.compare(str2)==1)
{
coutstr2" }
else
{
cout }
}
{
string str1="abczhoukeliang";
string str2;
str2=str1.substr(3,4);
cout
int pos;
pos=email.find("@");
cout
username=email.substr(0,pos);
cout }
{
string str1="abczhoukeliang";
str1.insert(3,"000"); //在c字符的后面插入000
cout }
{
string str1="abc000zhoukeliang";
str1.erase(3,3);
cout }
cout
{
cout }
{
cout }
{
string str1="abczhoukeliang";
const char *buff=str1.c_str();
string str2(buff);
cout }
上一篇:SpringBoot注解
下一篇:Java中集合的线程安全问题