第33课 C++中的字符串

1. 历史遗留问题及解决方案

(1)历史遗留问题

  ①C语言不支持真正意义上的字符串

  ②C语言用字符数组一组函数实现字符串操作

  ③C语言不支持自定义类型,因此无法获得字符串类型

(2)解决方案

  ①从C到C++的进化过程引入了自定义类型

  ②在C++中可以通过类完成字符串类型的定义

2. 标准库中的字符串类

(1)C++直接支持C语言的所有概念

(2)C++语言中没有原来的字符串类型

(3)C++标准库提供了string类型(支持字符串的连接、大小比较、子串查找和提取、字符串的插入和替换等操作)

【编程实验】字符串类的使用

3. 标准库中的字符串类

(1)字符串流类:(<sstream>头文件)

  ①istringstream:字符串输入流

  ②ostringstream:字符串输出流

(2)字符串与数字的转换


string→数字


数字→string


istringstream iss("123.45");

double num;

iss>>num;


ostringstream oss;

oss<<543.21;

string s = oss.str();

【编程实验】字符串和数字的转换

(3)string类的相关操作

  ①注意事项:

    A. #include <string>。注意,不是<string.h>。

    B. 分为string和wstring版。分别对应char和wchar_t

    C. using std::string;或using std::wstring;

  ②string类的相关操作(点这里的链接

【编程实验】用C++完成字符串的循环移位

4. 小结

(1)应用开发中大多数的情况都在进行字符串处理

(2)C++中没有直接支持原生的字符串类型

(3)标准库中通过string类支持字符串的概念

(4)string类支持字符串和数字的相互转换

(5)string类的应用使得问题的求解变得简单

时间: 2024-08-10 19:09:34

第33课 C++中的字符串的相关文章

42 python中正则中的分组 正则中匹配字符串的起始和结尾以及单词边界

第七课 正则中的分组 # 分组 # 正则表达式中用一对圆括号括起来的部分被称为一个分组 # '(\d\d\d)-(\d\d)' import re ''' 1. 只有圆括号括起来的部分才算一组,如果正则表达式中既有被圆括号括起来的部分, 也有未被圆括号括起来的部分,那么只将圆括号括起来的部分算一组 2. group方法,如果不指定参数,会返回匹配的整个字符串,如果加参数,会返回指定 分组的字符串,组索引从1开始 3. groups方法,以元组形式返回匹配的所有分组 4. 分组的索引是从1开始的

41 正则中匹配多个字符串匹配任意单个字符正则中使用字符串重复、可选和特殊字符

第三课 正则中匹配多个字符串 # 匹配多个字符串 # 择一匹配符号, | import re s = 'Python|Ruby|Java|Swift' m = re.match(s,'PythonRuby') print(m) # <re.Match object; span=(0, 6), match='Python'> m = re.search(s, 'I love Python.') print(m) # <re.Match object; span=(7, 13), match

SQL点滴33—SQL中的字符串操作

原文:SQL点滴33-SQL中的字符串操作 计算字符串长度len()用来计算字符串的长度 select sname ,len(sname) from student 字符串转换为大.小写lower() 用来将一个字符串转换为小写,upper() 用来将一个字符串转换为大写 select lower('I AM A STUDENT !') select upper('i am a student !') 截去字符串左.右侧空格                                    

第十一课、Qt中的字符串类

一.历史遗留的问题及解决方案 1.遗留的问题 (1).C语言不支持真正意义上的字符串 (2).C语言用字符数组和一组函数实现字符串操作 (3).C语言不支持自定义类型,因此无法获得字符串类型 2.解决方案 (1).从c到c++进化过程中引入了自定义类型 (2).在c++中可以通过类来完成字符串的定义 3.标准库STL (1).STL是意义上需要与c++一同发布的标准库 (2).STL是一套以模板技术完成的c++类库 (3).STL包含了常用的算法和数据结构 (4).STL包含了字符串类 4.Qt

第30课 C语言中的字符串

1. 字符串的概念 (1)字符串是有序字符的集合 (2)字符串是程序中的基本元素之一 (3)C语言中没有字符串的概念,而是通过特殊的字符数组模拟字符串,是以'\0'结尾的字符数组. 2. 字符数组与字符串 (1)在C语言中,字双引号引用的单个或多个字符是一种特殊的字面量,被存储于程序的全局只读存储区,在本质上为字符数组,编译器自动在结尾加上'\0'字符. [实例分析]字符数组与字符串 #include <stdio.h> int main(){ char ca[] = {'H','e','l'

Java中的字符串

作者:禅楼望月(http://www.cnblogs.com/yaoyinglong/) 1.字符串可以被GC回收了 我们之前在表达式的陷阱中就说到"对于Java程序中的字符直接量,JVM会使用一个字符串池来保护他们:当第一次使用某个字符串直接时,JVM会将它们放入字符串池进行缓存."在jdk1.7之前HotSpot将该字符串常量池放在永久代中,所以当初我们还说"在一般情况下,字符串缓冲池中字符串对象不会被垃圾回收",但是jdk1.7以后HotSpot就将字符串常量

C#中查询字符串中是否包含指定字符/串,使用IndexOf还是Contains?

C#中查询字符串中是否包含指定字符/串,使用IndexOf还是Contains?这是一个很常见的命题,以前也没有注意,今天QQ群里有人提起,于是就做了下试验,代码如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 5

[Swift]Day02:Swift 中的字符串

简介 String 中的字符串是值类型,传递的时候会对值进行拷贝,而 NSString 的字符串传递则是引用.我们可以用 for in 遍历字符串: var a : String = "a" for c in "Hello" { println(c) } 可以通过 countElements 计算字符串的字符数量: countElements("1234567") // 7 不过要注意的是,countElements 和 NSString 的 l

Python第四课(序列之字符串)

在Python中,字符串的使用随处可见,可被字符串调用的方法较之列表.元组也是最多.字符串也是Python的6中内建序列之一. 字符串的基本操作 作为序列,序列的通用操作(索引.分片.加法.乘法.成员资格.长度.最大值.最小值)对于字符串都是适用的.但是字符串和元组一样都是不可变的,所以对字符串进行分片赋值是不合法的. 格式化字符串 什么是格式化字符串?具有特定格式,可以通过给定值替换特定格式中被标记位置的字符串的操作叫格式化字符串.比如"%s年%s月%s日"中不改变字符串中的汉字部分