string<C++标准库>的函数
2014-09-10 11:27
267 查看
string<C++标准库>的函数
字符访问
迭代器
容量
修改器
搜索
非成员函数
常量值
函数
构造表示string::string(构造)
string::~string(析构)
string::operator=- 赋值
string::assign– 赋值
string::get_allocator– 获得内存分配器
字符访问
string::at– 访问特定字符,带边界检查
string::operator[]– 访问特定字符
string::front– 访问第一个字符
string::back– 访问最后一个字符
string::data– 访问基础数组
string::c_str– 返回对应于字符串内容的C风格零结尾的只读字符串。
string::substr– 获取子串。参数为空时取全部源串
string::copy– 拷贝出一段字符到C风格字符串。有溢出危险。
迭代器
string::begin– 获得指向开始位置的迭代器
string::end– 获得指向末尾的迭代器
string::rbegin– 获得指向末尾的逆向迭代器
string::rend– 获得指向开始位置的逆向迭代器
string::cbegin– 获得指向开始位置的只读迭代器
string::cend– 获得指向末尾的只读迭代器
string::crbegin– 获得指向末尾的逆向只读迭代器
string::crend– 获得指向开始位置的逆向只读迭代器
容量
string::empty– 检查是否为空
string::size– 返回数据的字符长度
string::length– 返回数据的字符长度,与size()完全相同
string::max_size– 返回可存储的最大的字节容量,在32位Windows上可能为43亿字节.
string::reserve– 改变string的字符存储容量,实际获得的存储容量不小于reserve的参数值。
string::capacity– 返回当前的字符存储容量
string::shrink_to_fit(C++11新增) – 降低内存容量到刚好
修改器
string::clear– 清空内容
string::insert– 插入字符或字符串。目标string中的插入位置可用整数值或迭代器表示。如果参数仅为1个迭代器,则在其所指位置插入0值。
string::erase– 删除1个或1段字符
string::push_back– 追加1个字符
string::append– 追加字符或字符串
string::operator+=– 追加,只有一个参数。不具有append()的可以追加源字符串的子串的功能。
string::pop_back– 删除最后一个字符
string::resize– 改变(增加或减少)字符串长度。如果增加了字符串长度,新字符缺省为0值。
string::swap– 与另一个string交换内容
string::replace– 替换子串。如果替换源数据与被替换数据的长度不等,则结果字符串的长度发生了改变。
搜索
string::find– 前向搜索特定子串的第一次出现
string::rfind– 从尾部开始,后向搜索特定子串的第一次出现
string::find_first_of– 搜索指定字符集合中任意字符在被搜索string中的第一次出现
string::find_last_of– 搜索指定字符集合中任意字符在被搜索string中的最后一次出现
string::find_first_not_of– 被搜索string中的不属于指定字符集合的首个字符
string::find_last_not_of– 被搜索string中的不属于指定字符集合的末个字符
string::compare– 与参数字符串比较
非成员函数
std::operator+– 字符串连接
std::operator!=– 不等比较
std::operator==– 相等比较
std::operator<– 小于比较
std::operator<=– 小于等于比较
std::operator>– 大于比较
std::operator>=– 大于等于比较
std::operator<<– 字符串内容写到输出流中
std::operator>>– 从输入流中读取一个字符串
std::getline– 从istream中读入一行或一段字符到string中
std::swap– 交换两个string的内容。是 std::swap算法针对std::basic_string的特化版本
std::stoi– 字符串转为整形
std::stol– 字符串转为长整形
std::stoll– 字符串转为长长整形
std::stoul– 字符串转为无符号长整形
std::stoull– 字符串转为无符号长长整形
std::stof– 字符串转为单精度浮点形
std::stod– 字符串转为双精度浮点形
std::stold– 字符串转为长双精度浮点形
std::to_string– 整型、无符号整型、浮点型转化为string
std::to_wstring– 整型、无符号整型、浮点型转化为wstring
std::hash<std::string>– 计算hash值
std::hash<std::wstring>– 计算hash值
std::hash<std::u16string>– 计算hash值
std::hash<std::u32string>– 计算hash值
常量值
string::npos– 表示“未找到”,值为
statci const unsigned -1
用法
#include <iostream> #include <string> int main() { std::string foo = "fighters"; std::string bar = "stool"; // "!=" compares string contents for inequality, even though they are different objects. if (foo != bar) { std::cout << "The strings are different." << std::endl; } // Prints "stool fighters" by creating a temporary object, which is automatically freed. std::cout << bar + " " + foo << std::endl; return 0; }结果:
The strings are different. stool fighters由于字符串的拷贝操作与其字节长度成比例,是O(n)量级。且创建字符串的临时栈对象的成本开销。因此
string一般作为常量引用(reference-to-const)以避免不必要的拷贝:
void print_the_string(const std::string& str){ std::cout << str;}
c_str()成员函数返回string类的C语言风格字符串(即ASCII-零串)的指针,用于C语言字符串的互操作。如果不需要零结尾的字符串,那么成员函数
data()返回不一定是0结尾的字符串的内存地址。
相关文章推荐
- c语言字符串库函数#include<string.h>
- <string.h>函数集合
- js数租,对象, 数组,字符串,函数,变量,int与String 型转化,String 转化为js 中内部代码,编码格式转化,<a>标签的死链接
- c++ <string.h>中包括哪些常用函数
- c语言字符串库函数#include<string.h>
- C++库常用函数一览(<string><cctype><algorithm><cmath><cstdlib><iomanip><numeric>)
- c++ 头文件<cstring>(或者string.h)中的常见函数的实现!
- C++ <string><string.h>函数区别
- <string>函数库中的getline函数
- [C++STDlib基础]关于数学函数的介绍——C++标准库头文件<cmath>
- <细节>C++标准库string类型
- C++基础-string截取、替换、查找子串函数<转>
- c++中string常用函数整理<引用>
- c<string.h>函数
- C++库函数---<string.h>字符串处理函数
- C语言:自定义一个查找字串的功能函数,类似于<string.h>中的strstr()
- C <string.h>常用函数介绍
- C++库常用函数一览(<string><cctype><algorithm><cmath><cstdlib><iomanip><numeric>)
- 整理:CString类的完美总结&&CString 成员函数用法大全&&string 与 CString 转化&&<string><string.h> 和<cstring>的区别
- 1#include<stdio.h> #include<string.h> int deng(char a[],ch、用函数实现登陆功能(三次机会),然后在主函数中根据调用后的结果判断 登陆成功与否。