STL string输出与修改

1、string输出

#include <iostream>
using namespace std;

void StrCout()
{
    string str2("ojkojkojk");
    cout << str2 << endl;
    cout << str2.c_str() << endl;
    cout << str2[0] << endl;
    cout << str2.at(3)<< endl;//at()函数返回一个引用,指向在index位置的字符(下标),如果index不在字符串范围内,at()会报告“out f range”错误
    //越界处理
    try
    {
        str2.at(19);
    }
    /*catch (...)
    {
        cout << "越界了\n";
    }*/
    catch (out_of_range& a)
    {
        cout << "越界了\n";
    }
}
int main()
{
    StrCout();
    system("pause");
    return 0;
}

2、修改

#include <iostream>
using namespace std;

void StrCout()
{
    string str2("ojkojkojk");
    cout << str2 << endl;
    cout << str2.c_str() << endl;
    cout << str2[0] << endl;
    cout << str2.at(3) << endl;//at()函数返回一个引用,指向在index位置的字符(下标),如果index不在字符串范围内,at()会报告“out f range”错误
    //越界处理
    try
    {
        str2.at(19);
    }
    /*catch (...)
      {
    cout << "越界了\n";
      }*/
    catch (out_of_range& a)
    {
        cout << "越界了\n";
    }
}
void StrChange()
{
    string str2("ojkojkojk");//改
    /*str2[2] = 's';
    str2.at(3) = 'q';//替换*/

    //string str3(5, 'q');//增
    string str3("abcdefg");//insert 函数。插入
    //str2.insert(2, str3);//将str3插入下标为2的位置。
    //str2.insert(2, "akfdsks");//将字符串插入下标为2的位置。
    //str2.insert(3, str3,0,2);//将str3中下标为[0,2)插入str2中的下标为3的位置。
    //str2.insert(3,"sjhdfja", 2);//将字符串中下标为[0,2)插入str2中的下标为3的位置。
    //str2.insert(3, 2, 'b');// 在str2的下标为3的位置插入2个b。
    
    //str2 += str3;//末尾加入。//增
    //str2 += "sjhasd";//末尾加入。

    //append函数//末尾加入,与insert近似,但插入的是末尾。//增
    //str2.append(str3);
    //str2.append("sdhasjj",3);//前三个加到str2后
    //str2.append(3,'w');//将三个w加到str2后

    //重新赋值//改
    //str2 = "qwer";
    //str2 = str3;
    //cin>>str2;
    //str2.assign("ashjd", 2);//与insert和append用法相同。

    //删除
    //str2.erase(2,3);//在str2中从下标为2开始删除3个字符。
    str2.erase(0,str2.length());//删除所有字符。
    cout << str2 << endl;

}

int main()
{
    //StrCout();
    StrChange();
    system("pause");
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

clown_30

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值