C++ string类的使用
C++ string的使用
在了解如何使用string类之前,我们先来看看C语言中使用字符串有多麻烦:
调用头文件:cstring
定义一个C字符串:
char str1[51]="Hello World";
char str2[51]="你好,世界";
printf("%s \n %s",&str1,&str2);
判断两个字符串是否相等:
if(strcmp(str1,str2))
//do sth.
后续赋值:
strcpy(str1,str2);
现在来看看string是如何使用的:
string类的成员函数:
| 名称 | 功能 |
|---|---|
| 构造函数 | 初始化字符串 |
| 析构函数 | 销毁字符串 |
| = | 赋值 |
| +,+ =,append( ),push_back() | 拼接字符串 |
| insert () | 插入字符 |
| erase() | 删除字符 |
| clear() | 移除全部字符(相当于="") |
| resize() | 改变字符数量 |
| replace() | 替换字符 |
| !=,==,<,<= ,>=,> | 比较字符串 |
| c_str() | 将内容以 C - string 形式返回 |
| substr() | 返回子字符串 |
| size(),length() | 返回字符串长度 |
| find() | 搜寻某子字符串或字符 |
| begin( ),end() | 提供正向迭代器支持 |
| rbegin(),rend() | 提供逆向迭代器支持 |
| [],at() | 返回某个位置的字符 |
调用头文件:string
string str1;//初始化字符串,空字符串
string str2 = str1; //拷贝初始化,其内容等于s1
string str3 = "I am b"; //直接初始化
string str4(10, 'a'); //s4存的字符串是aaaaaaaaaa
string str5(str4); //拷贝初始化
string str6("I am d"); //直接初始化
string str7 = string(6, 'c'); //拷贝初始化,cccccc
string的操作:
string str8=str3+str4; //将s3与s4拼接,储存在s8内
string str9="the str9: ";
str9+=str6; //直接拼接
cout << str9.size() << endl; //输出s9的长度
cout << str9[5] << endl; //输出s9的第5个字符
string str10;
getline(cin,str10); //读取一整行字符串至s10(即按下回车键才终止输入)
cout << str10 << endl; //输出刚才输入的字符串
string str11=str7.substr(0,3); //截取str7从0到3之间的字符串
cout << str11 << endl;
str11.insert(1,"bbb"); //将"bbb"插入到s11的第1个位置中
str11.erase(1,3); //删除s11的第1个位置之后的3个字符
cout << str11 << endl;
str11="123456789"; //对s11进行重新赋值
s11tr.replace(3-1,3,"kkk"); //替换s11的第3-1个位置之后的3个字符串为"kkk"
cout << str11;
显而易见,C++的string类比C的字符串定义好非常多。
最后补上一句:STL大法好!!!
C++ string类的使用的更多相关文章
- 标准库String类
下面的程序并没有把String类的所有成员方法实现,只参考教程写了大部分重要的成员函数. [cpp] view plain copy #include<iostream> #include ...
- 自己实现简单的string类
1.前言 最近看了下<C++Primer>,觉得受益匪浅.不过纸上得来终觉浅,觉知此事须躬行.今天看了类类型,书中简单实现了String类,自己以前也学过C++,不过说来惭愧,以前都是用C ...
- C++ string类的实现
c++中string类的实现 今天面试被考到了, 全给忘记了!!! //string类的实现 #include <iostream> #include <string.h> ...
- String类的功能
String类 标红的为较少出现的 1.判断功能 boolean equals(Object obj) :比较字符串内容是否相同,区分大小写 boolean equalsIg ...
- java基础复习:final,static,以及String类
2.final 1)为啥String是final修饰的呢? 自己答: 答案: 主要是为了“效率” 和 “安全性” 的缘故.若 String允许被继承, 由于它的高度被使用率, 可能会降低程序的性能,所 ...
- String类和StringBuffer类的区别
首先,String和StringBuffer主要有2个区别: (1)String类对象为不可变对象,一旦你修改了String对象的值,隐性重新创建了一个新的对象,释放原String对象,StringB ...
- 05_整理String类的Length()、charAt()、 getChars()、replace()、 toUpperCase()、 toLowerCase()、trim()、toCharArray()使用说明
Question: 整理String类的Length().charAt(). getChars().replace(). toUpperCase(). toLowerCase().trim().toC ...
- 标准C++中的string类的用法总结
标准C++中的string类的用法总结 相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用.但是如果离开了MFC框架,还有 ...
- String类常用方法
1.String类的特点,字符串一旦被初始化就不会被改变. 2.String对象定义的两种方式 ①String s = "affdf";这种定义方式是在字符串常量池中创建一个Str ...
- 运用String类实现一个模拟用户登录程序
package Test; import java.util.Scanner; // 模拟用户登录程序 // 思路: // 1.用两个String类分别接收用户名和密码 // 2.判断输入的用户名和密 ...
随机推荐
- AntDesign(React)学习-2 第一个页面
1.前面创建了第一个项目jgdemo,结构如下,使用TypeScript. 2.yarn start启动项目 3.点击GettingStarted是umi的官方网站 https://umijs.org ...
- AntDesign(React)学习-1 创建环境
目录: AntDesign(React)学习-15 组件定义.connect.interface AntDesign(React)学习-14 使用UMI提供的antd模板 AntDesign(Reac ...
- 风变编程笔记(二)-Python爬虫精进
第0关 认识爬虫 1. 浏览器的工作原理首先,我们在浏览器输入网址(也可以叫URL),然后浏览器向服务器传达了我们想访问某个网页的需求,这个过程就叫做[请求]紧接着,服务器把你想要的网站数据发送给浏 ...
- 出现“无法在发送 HTTP 标头之后进行重定向”问题
如题,在Response.Redirect之后会偶尔出现“无法在发送HTTP标头之后进行重定向”问题. 是因为,已经在出现错误的代码之前进行过一次重定向了.仔细检查代码即可. 解决方法:按照逻辑移除多 ...
- Codeforces Round #601 (Div. 2) C League of Leesins
把每一次输入的一组数字存下来,然后把每个数字出现的组数存下来 然后找只出现过一次的数字a,那么这个数字a不是开头就是结尾,默认为开头(是哪个都无所谓),然后去找和它出现在同一组的两个数字b和c,而b和 ...
- 【网站】 简单通用微信QQ跳转浏览器打开代码
使用方法: 将代码全部复制 粘贴到 网站根目录下index.php文件的顶端 注意:不要覆盖了 index.php里面的原代码,原代码保留 使用说明: 手机QQ内打开,会自动跳转浏览器: 微信内打开, ...
- 数据库接口基础类 oracle,sql server
1.为数据库读取基类 public class DBBase : IDisposable { public virtual void Dispose() { throw new NotImplemen ...
- python3练习100题——023
再做一道,把这周的任务搞定- 其实看到这道题,很熟悉,让我想起大一时被C语言支配的恐惧.那个时候不停的在push自己,给自己很大的压力.上C语言课的时候让人昏昏欲睡,但是还是逼迫自己打起精神来学习,一 ...
- Maven项目中配置文件导出问题
1.将该设置写在pom.xml中 <build> <resources> <resource> <directory>src/main/resource ...
- mybatis - @MapperScan
一. 测试代码 //实体类 public class User { private Integer id; private String name; private Integer age; priv ...