c++标准库------string

要使用string, 首先要包含头文件#include 中。头文件介绍了模板类,实例类,以及一些转换函数。

c++标准库支持四种形式的字符串:string, wstring, u16string, u32string。

模板类:

basic_string

char_traits : 针对char,wchar_t, char16_t, char32_t四种类型做了模板特化。

实例类:

typedef basic_string string;

typedef basic_string  u16string

typedef basic_string u32string

typedef basic_string_t> wstring

函数:

函数分为两类,一类是从string转换成目标格式,一类是从其他格式转换成string

第一类:

stoi、stol、stoul、stoll、stoull、stof、stod、stold


第二类:

to_string、to_wstring

string的常用操作

作为string的使用者,只需要知道string支持哪些操作。下面列出了string的一些常用操作

1、操作符

<<,>> (输入输出);

getline(输入流, s) :从输入流中读取一个字符串存入s中;

s.empty()

s.size() (length函数与这个函数的功能一模一样,那为什么会存在两个名字不同,但干着同样的事情的函数呢?因为length是沿用C的风格,一开始只有length;而size是后来引入stl后才引入的,为了兼容stl的统一接口而添加的)

s[n]

s1+s2

s1=s2

s1==s2

s1!=s2

<,<=, >, >=


2、除了上述操作,string还提供了stl标准容器的统一接口,如迭代器操作,容量操作,元素访问,修改容器等等一系列的操作。

3、上面列出了多个操作符,与这些操作符相对应的函数有assign(), append(), compare(), at()等函数,但由于都是操作符使用起来更方便,所以一般不会用到这些函数

4、find函数。string提供了多个版本的find函数

c++标准库------string_第1张图片

上面一共有6种函数, 每种函数有4中不同的重载形式,所以一共有24个函数。

所有的查找函数都返回一个size_type类型,这个返回值一般都是所找到字符串的位置,如果没有找到,则返回string::npos。有一点需要特别注意,所有和string::npos的比较一定要用string::size_type来使用,不要直接使用int 或者unsigned int等类型。其实string::npos表示的是-1.

5、其他函数。

replace(),substr()等。。。


你可能感兴趣的:(c++)