美文网首页
C++学习笔记(八)String类型(下)

C++学习笔记(八)String类型(下)

作者: 活体检测业余爱好 | 来源:发表于2017-08-01 14:32 被阅读23次

1、提取子字符串

函数substr可以提取string字符串中的子字符串,该函数有两个参数,第一个参数为需要提取的子字符串的起始下标,第二个参数是需要提取的子字符串的长度。

例1:

该函数同样会出现参数越界的情况,如果第一个参数越界则函数会抛出异常。在第一个参数没有越界的情况下,第二个参数仍然会导致越界,该函数的处理方式与前面提到的erase函数、replace函数相同,子字符串最多从第一个参数所指明的下标开始一直延续到字符串结尾。

2、查找字符串

find函数可以在字符串中查找子字符串中出现的位置。该函数有两个参数,第一个参数是待查找的子字符串,第二个参数是表示开始查找的位置,如果第二个参数不指名的话则默认从0开始查找,也即从字符串首开始查找。

例1:

函数最终返回的是子字符串出现在字符串中的起始下标。例1程序最终实在下标6处找到了s2字符串。如果没有查找到子字符串,则会返回一个无穷大值4294967295。

rfind函数与find函数很类似,同样是在字符串中查找子字符串,不同的是find函数是从第二个参数开始往后查找,而rfind函数则是最多查找到第二个参数处,如果到了第二个参数所指定的下标还没有找到子字符串,则返回一个无穷大值4294967295。

例2:

例2中rfind函数第二个参数是6,也就是说起始查找从0到6,如果找到了则返回下标,否则返回一个无穷大。本例中刚好在下标6的时候找到了子字符串s2,故而返回下标6。

find_first_of函数是用于查找子字符串和字符串共同具有的字符在字符串中出现的位置。

例3:

本例中s1和s2共同具有的字符是’s’,该字符在s1中首次出现的下标是3,故查找结果返回3。

而find_first_not_of函数则相反,它查找的是在s1字符串但不在s2字符串中的首位字符的下标,如果查找不成功则返回无穷大。

例4:

在本例中在s1但是不在s2中的首字符是’t’,其所在下标为13,故而返回下标13。

3、字符串的比较

“==”、 “!=”、 “<=”、 “>=”、 “<”和“>”操作符都可以用于进行string类型字符串的比较,这些操作符两边都可以是string字符串,也可以一边是string字符串另一边是字符串数组。

例1:


C++/C中都可以用strcmp进行字符串的比较strcmp(str1,str2)则相当于返回str1-str2。

相关文章

  • C++学习笔记(八)String类型(下)

    1、提取子字符串 函数substr可以提取string字符串中的子字符串,该函数有两个参数,第一个参数为需要提取的...

  • C++学习笔记(八)String类型(上)

    1、string类型变量的定义 在C++中提供了一个新的内建数据类型string,该数据类型可以替代C语言中cha...

  • string对象

    string类型是c++标准模板库设计的数据类型,专门用于字符串处理.在使用c++编程时,优先考虑使用string...

  • [C++之旅] 8 string类型的使用

    [C++之旅] 8 string类型的使用 使用string需包含#include 头文件 初始化string对...

  • C++系列 --- string类型介绍

    一、前言 int,float,char,C++标准库提供的类型:string,vector。 string:可变长...

  • 字符串

    C++提供了两种字符串的表示形式: C风格字符 C++引入的string类型 C风格 函数 C++中的String类

  • c++ char string转换

    char转换为string C++中char类型可以自动转换成string类型,即你可以用char类型字符串直接给...

  • Java程序员学习C++(第一篇)

    1. 数据类型与变量 C++中布尔类型是bool,字符串类型是string 需要注意的点 string 都是 AS...

  • 《C++ Primer》读书笔记

    前言 把《C++ Primer》读薄系列笔记全集。 目录 第I部分:C++基础 开始学习C++ 变量和基本类型 字...

  • python学习笔记

    python学习笔记 1、基础知识 数据类型:integer(int) string (str) float (浮...

网友评论

      本文标题:C++学习笔记(八)String类型(下)

      本文链接:https://www.haomeiwen.com/subject/niyjlxtx.html