字符串操作

本篇教程将讲解字符串数据类型(///)的使用。

字符串数据类型的详细用法请参考以下文档

cplusplus 的字符串说明文档

cppreference 的字符串说明文档

string 简单常用的使用方法字符串变量常用的创建方式(以UTF-32举例,其他同理)

字符串字面量

跟基本数据类型的后缀不一样,使用字符串数据类型的后缀前,需要先使用。

默认情况,字符串是以作为结尾,第一个后面的字符都会被忽略;而使用字符串后缀,字符会在字符串中被当作可以使用的字符。

获取字符串字符数

在之前的教程中已经使用过成员函数,它用于获取字符串的字符数:

另外,与是一样的用法和一样的作用。

跟之前说的一样, 只能获取字节数,有可能不能正确获取字符数。

判断字符串是不是空字符串(以UTF-32举例,其他同理)

对字符串的字符进行操作

字符串从开始数字符,也就是说,就是第1个字符。所以上面代码将第3个字符改成,第6个字符改成,第7个字符改成空格。

如果不是纯ASCII,这样操作会有问题;这样操作有可能会有问题。

清空字符串变量中的字符

末尾添加字符和字符串

插入字符

删除字符

替换字符

字符串比较

C++中判断两个值是否相等中的等于号用符号表示。相等则是,不相等则是。

先输出,确保后续可以输出/而不是/。

加是为了让他先判断再输出。

获取子字符串

查找

输出结果:

数值转换

使用函数、、、、、、、可以将字符串形式的数字转换成数值形式的数字,它们都在标准库中。注意:这些函数仅有效。

使用函数、可以将数值形式的数字转换成字符串形式的数字,它们都在标准库中。。

输出结果:

string_view

、、、字符串数据类型与字符串数据类型不一样。系列的字符串类型是用对字符串进行各种查看操作,它不能用来修改字符串。

以上代码是的两种创建方式:第一种是用变量保存字符串然后进行操作。第二种是创建字符串。

系列字符串在使用成员函数时,它会复制出一个新的字符串,这个新的字符串有多少个字符,就会占用多少份内存;而系列的不复制出新的字符串,所以不会因为子字符串而占用更多内存。

注意:系列的变量只是实际字符串的代理。当实际的字符串被销毁(离开作用域)时,此时如果用变量继续对实际的字符串进行处理,程序将会出现严重问题。

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180107G0P8UC00?refer=cp_1026

扫码关注云+社区