博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++--标准库 字符串类
阅读量:6680 次
发布时间:2019-06-25

本文共 1448 字,大约阅读时间需要 4 分钟。

一.C++标准库

C++标准库

1.C++标准并不是C++语言的一部分
2.C++标准库是由类库和函数库组成的集合
3.C++标准库中定义的类和对象位于std命名空间中
4.C++标准库的头文件都不带.h后缀
5.C++标准库涵盖了C库的功能
C++编译环境的组成
C++--标准库  字符串类
C++标准库预定义了多数常用的数据结构
C++--标准库  字符串类
代码示例

 

二.字符串类

Q:C语言存在的问题

1.C语言不支持真正意义上的字符串
2.C语言用字符数组和一组函数实现字符串操作
3.C语言不支持自定义类型,因此无法获得字符串类型
解决方法
1.从C到C++的进化过程引入了自定义类型
2.在C++中可以通过类完成字符串类型的定义

标准库中的字符串类

1.C++语言直接支持C语言的所有概念
2.C++语言中没有原生的字符串类型
3.C++标准库提供了string类型(直接支持字符串连接,支持字符串的大小比较,支持子串查找和提取,支持字符串的插入和替换)
字符串按大小排列(按照字典)与一连串的排列代码示例

#include 
#include
using namespace std;void string_sort(string a[], int len)//大小排列{ for(int i=0; i
a[j] )//字符串大小比较 { swap(a[i], a[j]); } } }}string string_add(string a[], int len)//添加{ string ret = ""; for(int i=0; i

运行结果如图所示

C++--标准库  字符串类
1为大小排列的结果,2为一串排列的结果

题目分析:字符串循环右移

示例:abcdefg循环右移3位得到efgabcd
分析:1.先找到所需移位字符串的位置 2循环经过一定的次数会重复

#include 
#include
using namespace std;string operator >> (const string& s, unsigned int n){ string ret = ""; unsigned int pos = 0; n = n % s.length();//长度与循环次数取余 pos = s.length() - n;//确定循环的位置 ret = s.substr(pos);//找到位置 ret += s.substr(0, pos);//将循环位置的前面的字符串添加到该点后面 return ret;}int main(){ string s = "abcdefg"; string r = (s >> 3); cout << r << endl; return 0;}

运行的结果如图所示

C++--标准库  字符串类
小结
1.应用开发中大多数的情况都在进行字符串处理
2.C++中没有直接原生的字符串类型
3.标准库中通过string类支持字符串的概念
4.string类支持字符串和数字的相互转换
5.string类的应用使得问题的求解变得简单

转载于:https://blog.51cto.com/13475106/2410990

你可能感兴趣的文章
在安装apache时遇到的困难
查看>>
我的友情链接
查看>>
将GNS3与secure_crt结合起来
查看>>
ARM世界之旅(一):特殊的生存之道
查看>>
Spark基础知识学习分享
查看>>
hadoop2.x启动停止的命令
查看>>
AD域中客户端时间与服务器时间不同步的解决办法
查看>>
vmware虚拟机安装后联网的处理方案
查看>>
我的友情链接
查看>>
OA和ERP谁先行
查看>>
我的友情链接
查看>>
DAO分页函数
查看>>
ORACLE EM 启动提示OC4J_DBConsole_hostname_ORACLESID not found 解决办法之一
查看>>
利用Fiddler4将google cdn的jquery替换成本地的方法
查看>>
深入理解java的反射机制
查看>>
GRE配置案例实现远程网络通信
查看>>
不用linux作为桌面的N个理由
查看>>
Rabbitmq学习之路3-cluster
查看>>
iptables实现NAT(网络搜索整理)
查看>>
关于ip地址
查看>>