不以物喜,不以己悲

C++中的string类用法简介

C++中的string类用法简介

string转换为char*

#include <iostream>
#include<string>

using namespace std;
int main()
{
    string str = "hello world";
    const char* pszStr = str.c_str(); //转为const char*
    cout << pszStr << endl;
    getchar();
    return 0;
}

计算string长度、string字符串比较

string str = "hello world";
    int len = str.length();
    cout << len << endl;
    if (0 == str.compare("hello world"))
    {
        cout << "相等" << endl;
    }

string对象判空

使用empty()方法进行判断

string str = "";
    if (str.empty())
    {
        cout << "字符串为空" << endl;
    }

char*、char[]转换为string

将char*、char[]转换为string类型时,直接进行赋值操作即可。实际上是将char*、char[]定义的字符串的首地址赋值给string对象了。

const char* pszName = "title";
    char pszCamp[] = "测试文本";
    string strName = pszName;
    string strCamp = pszCamp;
    cout << strName << endl;
    cout << strCamp << endl;

string类的find方法

使用string类的find方法,在字符串中检索字符串是否存在。

string str = "hello world";
    auto pos = str.find('9', 0);
    cout << pos << endl;
    if (pos == string::npos) {
        cout << "未找到" << endl;
    }

string类的insert方法

使用string类的insert方法,向字符串中插入字符(串).

string str = "hello world";
    str.insert(4, "rg");
    cout << str << endl;

int类型转为string类的方法

使用stringstream类

#include <iostream>
#include<string>
#include<sstream>

using namespace std;
int main()
{
    int nNum1 = 123;
    stringstream ss;
    ss << nNum1;
    string str = ss.str();//转为string类型
    cout << str << endl;

    string str3;
    ss >> str3; //给string赋值
    cout << str3 << endl;

    int nNum2 = 456;
    string str4;
    str4 = to_string(nNum2); //使用to_string函数
    cout << str4 << endl;
    getchar();
    return 0;
}

删除子串

 string sl("real steel");
    sl.erase(1, 2); //删除子串(1,2)
    sl.erase(5);//删除下标为5及其后面的所有字符
posted @ 2021-01-18 13:57  这种人  阅读(174)  评论(0编辑  收藏  举报