C++程序设计入门(上) string类的基本用法
string类中的函数
1. 构造
2. 追加
3. 赋值
4. 位置与清除
5. 长度与容量
6. 比较
7. 子串
8. 搜索
9. 运算符
追加字符串
string s1("Welcome");
s1.append(" to C++"); // appends " to C++" to s1
cout << s1 << endl; // s1 now becomes Welcome to C++
string s2("Welcome");
s2.append(" to C and C++", , ); // appends " C" to s2
cout << s2 << endl; // s2 now becomes Welcome C
string s3("Welcome");
s3.append(" to C and C++", ); // appends " to C" to s3
cout << s3 << endl; // s3 now becomes Welcome to C
string s4("Welcome");
s4.append(, 'G'); // appends "GGGG" to s4
cout << s4 << endl; // s4 now becomes WelcomeGGGG
为字符串赋值
string s1("Welcome");
s1.assign("Dallas"); // assigns "Dallas" to s1
cout << s1 << endl; // s1 now becomes Dallas
string s2("Welcome");
s2.assign("Dallas, Texas", , ); // assigns "all" to s2
cout << s2 << endl; // s2 now becomes all
string s3("Welcome");
s3.assign("Dallas, Texas", ); // assigns "Dallas" to s3
cout << s3 << endl; // s3 now becomes Dallas
string s4("Welcome");
s4.assign(, 'G'); // assigns "GGGG" to s4
cout << s4 << endl; // s4 now becomes GGGG
at(index): 返回当前字符串中index位置的字符
clear(): 清空字符串
erase(index, n): 删除字符串从index开始的n个字符
empty(): 检测字符串是否为
string s1("Welcome");
cout << s1.at() << endl; // s1.at(3) returns c
cout << s1.erase(, ) << endl; // s1 is now Weme
s1.clear(); // s1 is now empty
cout << s1.empty() << endl; // s1.empty returns 1 (means true)
比较字符串:
string s1("Welcome");
string s2("Welcomg");
cout << s1.compare(s2) << endl; // returns -2
cout << s2.compare(s1) << endl; // returns 2
cout << s1.compare("Welcome") << endl; // returns 0
获取子串:
at() 函数用于获取一个单独的字符;而substr() 函数则可以获取一个子串
string s1("Welcome");
cout << s1.substr(, ) << endl; // returns W ; 从 0 号位置开始的 1 个字符
cout << s1.substr() << endl; // returns come ; 从 3 号位置直到末尾的子串
cout << s1.substr(, ) << endl; // returns com ;从 3 号位置开始的 3 个字符
搜索字符串
string s1("Welcome to HTML"
cout << s1.find("co") << endl; // returns 3 ; 返回子串出现的第一个位置);
cout << s1.find("co", ) << endl; // returns -1 从 6 号位置开始查找子串出现的第一个位置
cout << s1.find('o') << endl; // returns 4 返回字符出现的第一个位置
cout << s1.find('o', ) << endl; // returns 9 从 6 号位置开始查找字符出现的第一个位置
插入和替换字符串
insert() : 将某个字符/字符串插入到当前字符串的某个位置
replace() 将本字串从某个位置开始的一些字符替换为其它内容
string s1("Welcome to HTML");
s1.insert(, "C++ and ");
cout << s1 << endl; // s1 becomes Welcome to C++ and HTML
string s2("AA");
s2.insert(, , 'B'); // 在 1 号位置处连续插入 4 个相同字符
cout << s2 << endl; // s2 becomes to ABBBBA
string s3("Welcome to HTML");
s3.replace(, , "C++"); // 从 11 号位置开始向后的 4 个字符替换掉。注意 '\0'
cout << s3 << endl; // returns Welcome to C++
C++程序设计入门(上) string类的基本用法的更多相关文章
- String类 的基本用法
1.String 对象的创建 String对象的创建有两种方式. 第1 种方式就是我们最常见的创建字符串的方式: String str1 = "Hello, 慕课网"; 第 2 种 ...
- 关于Java的对象、数组、String类的具体用法
对象的行为: 1.内存分配(栈和堆的区别) 栈:保存局部变量的值(用来保存基本数据类型的值:保存类的实例的引用) 对:用来存放动态产生的数据,比如new出来的对象 2.调用方法 方法返回一个值.方法不 ...
- 网易云课堂_C++程序设计入门(上)_第5单元:万类霜天竞自由 – 对象和类的更多内容_第5单元作业【4】 - 在线编程(难度:难)
第5单元作业[4] - 在线编程(难度:难) 查看帮助 返回 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之前不限次数提交答案,系 ...
- 网易云课堂_C++程序设计入门(上)_第4单元:物以类聚 – 对象和类_第4单元作业【3】- 在线编程(难度:难)
1 在本单元作业[1]和作业[2]的基础上,创建一个MyRectangle类,并在main函数中创建类的实例.(10分) 题目难度: 难 题目内容: Screen类: 与作业[2]要求完全相同. 如果 ...
- C++程序设计入门(上) 之对象和类
面向对象编程: 如何定义对象? 同类型对象用一 个通用的类来定义 class C { int p; int f(); }; C ca, cb; 一个类用变量来定义数据域,用函数定义行为. class ...
- 网易云课堂_C++程序设计入门(上)_第6单元:丹枫虽老犹多态–继承与多态_第6单元作业【2】- 在线编程(难度:中)
第6单元作业[2]- 在线编程(难度:中) 查看帮助 返回 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之前不限次数提交答案,系统 ...
- 网易云课堂_C++程序设计入门(上)_第1单元:C++概览_第1单元作业 - 写代码 - 互评 (难度:易)
第1单元作业 - 写代码 - 互评 (难度:易) 查看帮助 返回 提交作业(截止时间已过) 完成并提交作业 作业批改 互评训练 互评作业 自评作业 成绩公布 查看成绩 温 ...
- 网易云课堂_C++程序设计入门(上)_第2单元:丹青画松石– EGE图形库
第2节:一个简单的EGE程序 #ifndef _GRAPHICS_H_ #define _GRAPHICS_H_ #ifndef __cplusplus #error You must use C++ ...
- 网易云课堂_C++程序设计入门(上)_第3单元:更上一层楼 – 超越C的语法_第3单元作业【3】-在线编程(难度:中;10分)
1 本题要求实现两个重载的swap函数,每个swap函数都可交换3个整数a,b,c的值.将a的值存入b,b的值存入c,c的值存入a, 并且返回三个整数中最大的数的值.例如a,b,c的值为1,2,3,则 ...
随机推荐
- Android获取蓝牙地址
最近做一个项目,发现Android6.0以上的版本获取的蓝牙地址始终为02:00:00:00, Google一下发现Android早就封掉了相关接口,于是想到反射的方式去获取Mac地址,在此记录一下 ...
- robbe-1.2发布-支持最新版本的friso+WinNT下php各版本的dll
robbe是建立在friso中文分词组建上的一个高性能php中文分词扩展.(只支持UTF-8编码) robbe-1.2: 1. friso近几天发布1.3了, 接口有些许变化, 更改robbe适合最新 ...
- winform界面开发-HTML内容编辑控件
参照及推荐博客:伍华聪 http://www.cnblogs.com/wuhuacong/archive/2009/07/07/1518346.html http://www.cnblogs.com/ ...
- 【Oracle】查看被锁的表和解锁
--以下几个为相关表SELECT * FROM v$lock;SELECT * FROM v$sqlarea;SELECT * FROM v$session;SELECT * FROM v$proce ...
- Win10 mysql容器启动命令
docker run --name mysql -it -p : -e MYSQL_ROOT_PASSWORD=Hongfund5013 -e MYSQL_USER=hongfund_os -e MY ...
- exchange 删除邮件
一 批量删除特定主题的邮件1.1 批量删除所有数据库中特定主题的邮件1) 群发了几封主题为“backup”的邮件: 2) 当前操作账号需要满足如下需求: a)该账号需属于Exchange Server ...
- contextlib
contextlib with 语句 上下文 任何对象,只要正确实现了上下文管理,就可以用于with语句. 实现上下文管理是通过__enter__和__exit__这两个方法实现的. 例如,下面的 ...
- python基础语法1
一.基础语法 1.常量 python语言没有真正的常量,它只是字面常量. 2.变量 变量是一个指针,它指向一块内存. 变量的命名规则: 1)只能包含字母.数字和下划线: 2)只能以字母或者下划线开始: ...
- 枚举类型与位域枚举Enum
一.概述 定义一个值类型,其中包含固定值集合.枚举类型变量可以是此集合中的任意一个或多个值.枚举使用enum关键字来声明,与类同级.枚举本身可以有修饰符,但枚举的成员始终是公共的,不能有访问修饰符.枚 ...
- html转canvas html2canvas.js
$("#btn-html2canvas").on("click",function(){//btn-html2canvas为按钮 //content-main为 ...