C++ string

示例

#include "stdafx.h"
#include<iostream>
#include<string>
using namespace std;

int main()
{
    //构造
    string s1 = "s1";
    string s2 = s1;
    string s3(5, 'a');
    string s4(s1);
    cout << "-------构造结果--------" << endl;
    cout << s1 << endl;
    cout << s2 << endl;
    cout << s3 << endl;
    cout << s4 << endl;
    //操作符重载
    cout << "-------操作符重载--------" << endl;
    cout << (s1 == s2) << endl;
    string s5 = s1 + "+s5";
    cout << s5 << endl;
    cout << (s1 > s5) << endl;
    for (int i = 0; i < s5.size(); i++) {
        cout << s5[i] << "|" << s5.at(i) << "  ";
    }
    cout << endl;
    //长度
    cout << "-------s5长度--------" << endl;
    cout << s5.length() << " " << s5.size() << endl;
    //字符串追加
    cout << "-------s5追加--------" << endl;
    s5.append("->append");
    cout << s5 << endl;
    s5.append("->123456", 2, 2);
    cout << s5 << endl;
    //字符串截取
    cout << "-------截取--------" << endl;
    s5 = s5.substr(3, 2);
    cout << s5 << endl;
    cout << "-------s5和s1交换--------" << endl;
    //字符串内容交换
    s5.swap(s1);
    cout << s5 << endl;
    s5.swap(s1);
    //查找
    cout << "-------查找--------" << endl;
    s1 = "abcdabcd123123";
    int index = s1.find('a', 1);
    cout << index << endl;
    index = s1.find("cd", 3);
    cout << index << endl;
    //替换
    cout << "-------替换--------" << endl;
    s1.replace(0, 4, "1234");
    cout << s1 << endl;
    //插入
    cout << "-------插入--------" << endl;
    s1.insert(4, "[insert]");
    cout << s1 << endl;
    //迭代器正向/反向
    cout << "-------迭代器正向/反向遍历--------" << endl;
    for (string::iterator it = s1.begin(); it != s1.end(); it++) {
        cout << *it;
    }
    cout << endl;
    for (string::reverse_iterator it = s1.rbegin(); it != s1.rend(); it++) {
        cout << *it;
    }
    return 0;
}

运行结果.png

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏HTML5学堂

PHP入门-常量基本规则

PHP入门-常量基本规则 HTML5学堂:本文是PHP的入门用文章,主要介绍PHP的常量的基本规则以及定义和获取方法。 前几天把PHP的基本语法以及变量的基本规...

37415
来自专栏领域驱动设计DDD实战进阶

04-TypeScript中的方法新功能(上)

在TypeScript中,提供了一些函数的新功能,能够简化JavaScript中的一些比较复杂代码才能实现的一些能力。 在C#后端语言中,能够对方法传递的参数指...

2724
来自专栏python读书笔记

《算法图解》NOTE 2 数组、链表及选择排序1.数组2.链表3.选择排序法

1353
来自专栏北京马哥教育

17个案例带你3分钟搞定Linux正则表达式

正则表达式是一种字符模式,用于在查找过程中匹配制定的字符。 元字符通常在Linux中分为两类: Shell元字符,由Linux Shell进行解析; 正则表达式...

3464
来自专栏前端儿

大小写互换

  现在给出了一个只包含大小写字母的字符串,不含空格和换行,要求把其中的大写换成小写,小写换成大写,然后输出互换后的字符串。

1212
来自专栏程序员互动联盟

【专业技术第十二讲】void的妙用

存在问题: 遇到微信好友询问关于void *的用法,这里做一个总结性的回复。 解决方案: void的字面意思是空类型,void *的意思是空类型指针,void ...

36110
来自专栏九彩拼盘的叨叨叨

JS模式 之通用模式(译)

原文 http://shichuan.github.io/javascript-patterns/

1063
来自专栏武军超python专栏

2018-7-18pythoh中函数的参数,返回值,变量,和递归

********************************************************************************...

1234
来自专栏nummy

python双端队列deque

由于deque是一种序列容器,因此同样支持list的一些操作,如用getitem()检查内容,确定长度,以及通过匹配标识从序列中间删除元素。

732
来自专栏java小白

LinkedHashMap的accessOrder

1869

扫码关注云+社区