本篇教程将讲解字符串数据类型(///)的使用。
字符串数据类型的详细用法请参考以下文档:
cplusplus 的字符串说明文档
cppreference 的字符串说明文档
string 简单常用的使用方法字符串变量常用的创建方式(以UTF-32举例,其他同理)
字符串字面量
跟基本数据类型的后缀不一样,使用字符串数据类型的后缀前,需要先使用。
默认情况,字符串是以作为结尾,第一个后面的字符都会被忽略;而使用字符串后缀,字符会在字符串中被当作可以使用的字符。
获取字符串字符数
在之前的教程中已经使用过成员函数,它用于获取字符串的字符数:
另外,与是一样的用法和一样的作用。
跟之前说的一样, 只能获取字节数,有可能不能正确获取字符数。
判断字符串是不是空字符串(以UTF-32举例,其他同理)
对字符串的字符进行操作
字符串从开始数字符,也就是说,就是第1个字符。所以上面代码将第3个字符改成,第6个字符改成,第7个字符改成空格。
如果不是纯ASCII,这样操作会有问题;这样操作有可能会有问题。
清空字符串变量中的字符
末尾添加字符和字符串
插入字符
删除字符
替换字符
字符串比较
C++中判断两个值是否相等中的等于号用符号表示。相等则是,不相等则是。
先输出,确保后续可以输出/而不是/。
加是为了让他先判断再输出。
获取子字符串
查找
输出结果:
数值转换
使用函数、、、、、、、可以将字符串形式的数字转换成数值形式的数字,它们都在标准库中。注意:这些函数仅有效。
使用函数、可以将数值形式的数字转换成字符串形式的数字,它们都在标准库中。。
输出结果:
string_view
、、、字符串数据类型与字符串数据类型不一样。系列的字符串类型是用对字符串进行各种查看操作,它不能用来修改字符串。
以上代码是的两种创建方式:第一种是用变量保存字符串然后进行操作。第二种是创建字符串。
系列字符串在使用成员函数时,它会复制出一个新的字符串,这个新的字符串有多少个字符,就会占用多少份内存;而系列的不复制出新的字符串,所以不会因为子字符串而占用更多内存。
注意:系列的变量只是实际字符串的代理。当实际的字符串被销毁(离开作用域)时,此时如果用变量继续对实际的字符串进行处理,程序将会出现严重问题。
领取专属 10元无门槛券
私享最新 技术干货