100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > STL之字符串类模板 string(一) C++ string类库简介

STL之字符串类模板 string(一) C++ string类库简介

时间:2020-04-28 11:24:02

相关推荐

STL之字符串类模板 string(一) C++ string类库简介

前言

在最初的 C 语言中,头文件 string.h 提供了一系列字符串函数。早期的 C++ 也为处理字符串提供了类。string 类由头文件 支持,该类包含了大量方法及若干构造函数,用于将字符串赋给变量、合并字符串、比较字符串和访问各个元素的重载操作符、查找字符和子字符串的方法等。到目前为止,string 已被用户广泛接受及使用。

C++ 从 C 继承的字符串概念仍然是以 ‘\0’ 为结束符的 char 数组。C++ 标准库中的 string class 可以将 string 作为一个型别,可以实现复制、赋值和比较,不必担心内存大小及占用内存实际长度等具体问题。

现今,数据处理大部分是字符串处理,相较于早期的 C 语言和 Fortran 语言,这是非常重要的进步。在这些语言中,字符串的处理是非常复杂的。

本章将详细讲述字符串类库简述、字符的特点、字符串类模板(basic_String),字符串通用函数、字符串联接、字符串 IO 操作、搜索和查找、字符串对迭代器的支持以及字符串对配置器的支持等内容。

第一章、C++ string类库简介

/y601500359/article/details/105391110

字符串的表现形式多种多样,如 TCHAR,std::string、BSTR 等。字符串类均起源于 C 语言的字符串,而最初 C 语言的字符串是字符的数组。单字节字符串顺序存放各个字符串,并用’\0’表示字符串的结束。在 C 语言中,已存在部分字符串处理函数,例如 strcpy(),sprintf() , stoi() 等,只能用于单字节字符串。在标准库中,还有仅用于 Unicode 字符串的函数,如 wcscpy(),swprintf() , _wtol() 等。

多数人都惯于使用指针 ++ 和 – 操作符来遍历字符串。使用数组处理字符串中的字符也非常方便。无论 ASCII 码字符串还是 Unicode 字符串,使用指针均能够正确无误地返回要寻求的字符位置。

STL 中只有一个字符串类,即 basic_string。类 basic_string 实现管理以 \0 结尾的字符数组,字符类型由模板参数决定。

通常,basic_string 被处理为不透明的对象,靠获得只读指针来访问缓冲区,写操作是由 basic_string 的成员函数实现的。STL 的 C++ 标准程序库中的 string 类,使用时不必担心内存是否充足、字符串长度等问题。

string 作为类出现,其集成的操作函数足以完成多数情况下的需要。可以使用 “=” 进行赋值,使用 “==” 进行等值比较,使用 “+” 做串联。

要使用 string 类,必须包含头文件 <string>。在 STL 库中,basic_string 有两个预定义类型:包含 char 的 string 类型和包含 wchar 的 wstring 类型。

string 类的 string::npos 可同时定义字符串的最大长度,通常设置为无符号 int 的最大值。string 类包含了 6 个构造函数。string 类支持 cin 方式和 getline() 方式两种输入方式。简单示例如下:

/*************************************************// Copyright (C), -221, Sunking&Yang. Co., Ltd.// 作者: SunkingYang// 版本: 1.0// 日期: /04/08//博客地址:/y601500359// 说明:原创不易,转载请注明来源!*************************************************/string strTest;cin >> strTest;getline(cin, strTest);

上述三行代码,第一行是声明 string 类的对象 stuff,第二行是从屏幕读入输入的字符串,第三行同样实现第二行代码的功能。

string 库提供了许多其他功能,如删除字符串的部分或全部,用一个字符的部分或全部替换另一个字符串的部分或全部,插入、删除字符串中数据,比较、提取、复制、交换等。

参考来源:/view/1437.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。