C/C++编程:字符串库

1059 篇文章 285 订阅

C++字符串库支持三种通用的字符串类型

类型说明引入
std::basic_string为操作任何字符类型的字符串设计的模板类
std::basic_string_view对于字符串子序列的轻量无所有权的只读视图C++17
空终止字符串以特殊的空字符终止的字符数组

std::basic_string

  • 模板类std::basic_string通用化字符串如何操作以及存储。字符串创建、操作以及析构全部为便利的类方法集合与相关函数所处理
  • 标准于头文件<string>提供std::basic_string对常用类型的数种特化
类型定义引入
std::stringstd::basic_string< char>
std::wstringstd::basic_string< wchar_t>
std::u8stringstd::basic_string< char8_t>C++20 起
std::u16stringstd::basic_string< char16_t>C++11 起
std::u32stringstd::basic_string< char32_t>C++11 起

std::basic_string_view

  • 模板类std::basic_string_view提供一个轻量对象,它使用类似std::basic_string接口的接口,提供对字符串一部分的只读访问
  • 标准于头文件<string_view>提供std::basic_string_view对常用类型的数中特化
类型定义引入
std::string_viewstd::basic_string_view< char>C++17 起
std::wstring_viewstd::basic_string_view< wchar_t>C++17 起
std::u8string_viewstd::basic_string_view< char8_t>C++20起
std::u16string_viewstd::basic_string_view< char16_t>C++17 起
std::u32string_viewstd::basic_string_view< char32_t>C++17 起

空终止字符串

空终止字符串是以特殊的空字符终止的字符串。C++提供创建、检查以及修改空终止字符串的函数

空终止字符串有三种类型

  • 空终止字节字符串
  • 空终止多字节字符串
  • 空终止宽字符串

附加支持

std::char_traits

字符串库亦提供类模板 std::char_traits ,它为 std::basic_string 和 std::basic_string_view 定义类型和函数。标准于头文件 < string>定义下列特化:

定义引入
template<> class char_traits< char>;
template<> class char_traits< wchar_t>;
template<> class char_traits< char8_t>;C++20 起
template<> class char_traits< char16_t>;C++11 起
template<> class char_traits< char32_t>;C++11 起

转换与分类

本地化库提供对字符串转换的支持(例如 std::wstring_convert 或 std::toupper ),还有分类字符的函数(例如 std::isspace 或 std::isdigit )。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值