C++string类常用函数
C++ 函数 string 常用
2023-09-27 14:27:55 时间
string类的构造函数:
string(const char *s); //用c字符串s初始化
string(int n,char c); //用n个字符c初始化
此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2="hello";都是正确的写法。当构造的string太长而无法表达时会抛出length_error异常
string类的字符操作:
const char operator[](int n)const;
const char at(int n)const;
char operator[](int n);
char at(int n);
operator[]和at()均返回当前字符串中第n个字符的位置,但at函数提供范围检查,当越界时会抛出out_of_range异常,下标运算符[]不提供检查访问。
const char *data()const;//返回一个非null终止的c字符数组
const char *c_str()const;//返回一个以null终止的c字符串
string的特性描述:
int capacity()const; //返回当前容量(即string中不必增加内存即可存放的元素个数)
int max_size()const; //返回string对象中可存放的最大字符串的长度
int size()const; //返回当前字符串的大小
int length()const; //返回当前字符串的长度
bool empty()const; //当前字符串是否为空
void resize(int len,char c);//把字符串当前大小置为len,并用字符c填充不足的部分
string类的输入输出操作:
string类重载运算符operator 用于输入,同样重载运算符operator 用于输出操作。
函数getline(istream in,string 用于从输入流in中读取字符串到s中,以换行符\n分开。
string的赋值:
string operator=(const string //把字符串s赋给当前字符串
string assign(const char *s);//用c类型字符串s赋值
string assign(const char *s,int n);//用c字符串s开始的n个字符赋值
string assign(const string //把字符串s赋给当前字符串
string assign(int n,char c);//用n个字符c赋值给当前字符串
string assign(const string s,int start,int n);//把字符串s中从start开始的n个字符赋给当前字符串
string assign(const_iterator first,const_itertor last);//把first和last迭代器之间的部分赋给字符串
string的连接:
string operator+=(const string //把字符串s连接到当前字符串的结尾
string append(const char *s); //把c类型字符串s连接到当前字符串结尾
string append(const char *s,int n);//把c类型字符串s的前n个字符连接到当前字符串结尾
string append(const string //同operator+=()
string append(const string s,int pos,int n);//把字符串s中从pos开始的n个字符连接到当前字符串的结尾
string append(int n,char c); //在当前字符串结尾添加n个字符c
string append(const_iterator first,const_iterator last);//把迭代器first和last之间的部分连接到当前字符串的结尾
string的比较:
bool operator==(const string s1,const string s2)const;//比较两个字符串是否相等
运算符" "," "," ="," =","!="均被重载用于字符串的比较;
int compare(const string s) const;//比较当前字符串和s的大小
int compare(int pos, int n,const string s)const;//比较当前字符串从pos开始的n个字符组成的字符串与s的大小
int compare(int pos, int n,const string s,int pos2,int n2)const;//比较当前字符串从pos开始的n个字符组成的字符串与s中pos2开始的n2个字符组成的字符串的大小
int compare(const char *s) const;
int compare(int pos, int n,const char *s) const;
int compare(int pos, int n,const char *s, int pos2) const;
compare函数在 时返回1, 时返回-1,==时返回0
string的字串:
string substr(int pos = 0,int n = npos) const;//返回pos开始的n个字符组成的字符串
string的交换:
void swap(string s2); //交换当前字符串与s2的值
C++ 中的 std::string 类 C++ 在其定义中有一种将字符序列表示为 class 对象的方法。这个类叫做 std::string。String 类将字符存储为具有允许访问单字节字符的功能的字节序列。
Android C++系列:JNI调用 Java 类的构造方法和父类的方法 Android JNI开发时经常遇到C/C++层访问Java层对象的,比如C/C++层创建一个String返回,或者访问Java层提供的MediaCodec等,此时我们就需要通过 JNI 来调用 Java 一个类的构造方法来创建这个 Java 类。
C++ 编程std::string类 td::string是C++标准库中的一个类,它用于表示字符串,在C++中是一个非常常用的数据类型。std::string可以保存任意长度的字符串,并且支持各种字符串操作,包括连接、查找、替换等等。
string(const char *s); //用c字符串s初始化
string(int n,char c); //用n个字符c初始化
此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2="hello";都是正确的写法。当构造的string太长而无法表达时会抛出length_error异常
string类的字符操作:
const char operator[](int n)const;
const char at(int n)const;
char operator[](int n);
char at(int n);
operator[]和at()均返回当前字符串中第n个字符的位置,但at函数提供范围检查,当越界时会抛出out_of_range异常,下标运算符[]不提供检查访问。
const char *data()const;//返回一个非null终止的c字符数组
const char *c_str()const;//返回一个以null终止的c字符串
string的特性描述:
int capacity()const; //返回当前容量(即string中不必增加内存即可存放的元素个数)
int max_size()const; //返回string对象中可存放的最大字符串的长度
int size()const; //返回当前字符串的大小
int length()const; //返回当前字符串的长度
bool empty()const; //当前字符串是否为空
void resize(int len,char c);//把字符串当前大小置为len,并用字符c填充不足的部分
string类的输入输出操作:
string类重载运算符operator 用于输入,同样重载运算符operator 用于输出操作。
函数getline(istream in,string 用于从输入流in中读取字符串到s中,以换行符\n分开。
string的赋值:
string operator=(const string //把字符串s赋给当前字符串
string assign(const char *s);//用c类型字符串s赋值
string assign(const char *s,int n);//用c字符串s开始的n个字符赋值
string assign(const string //把字符串s赋给当前字符串
string assign(int n,char c);//用n个字符c赋值给当前字符串
string assign(const string s,int start,int n);//把字符串s中从start开始的n个字符赋给当前字符串
string assign(const_iterator first,const_itertor last);//把first和last迭代器之间的部分赋给字符串
string的连接:
string operator+=(const string //把字符串s连接到当前字符串的结尾
string append(const char *s); //把c类型字符串s连接到当前字符串结尾
string append(const char *s,int n);//把c类型字符串s的前n个字符连接到当前字符串结尾
string append(const string //同operator+=()
string append(const string s,int pos,int n);//把字符串s中从pos开始的n个字符连接到当前字符串的结尾
string append(int n,char c); //在当前字符串结尾添加n个字符c
string append(const_iterator first,const_iterator last);//把迭代器first和last之间的部分连接到当前字符串的结尾
string的比较:
bool operator==(const string s1,const string s2)const;//比较两个字符串是否相等
运算符" "," "," ="," =","!="均被重载用于字符串的比较;
int compare(const string s) const;//比较当前字符串和s的大小
int compare(int pos, int n,const string s)const;//比较当前字符串从pos开始的n个字符组成的字符串与s的大小
int compare(int pos, int n,const string s,int pos2,int n2)const;//比较当前字符串从pos开始的n个字符组成的字符串与s中pos2开始的n2个字符组成的字符串的大小
int compare(const char *s) const;
int compare(int pos, int n,const char *s) const;
int compare(int pos, int n,const char *s, int pos2) const;
compare函数在 时返回1, 时返回-1,==时返回0
string的字串:
string substr(int pos = 0,int n = npos) const;//返回pos开始的n个字符组成的字符串
string的交换:
void swap(string s2); //交换当前字符串与s2的值
C++ 中的 std::string 类 C++ 在其定义中有一种将字符序列表示为 class 对象的方法。这个类叫做 std::string。String 类将字符存储为具有允许访问单字节字符的功能的字节序列。
Android C++系列:JNI调用 Java 类的构造方法和父类的方法 Android JNI开发时经常遇到C/C++层访问Java层对象的,比如C/C++层创建一个String返回,或者访问Java层提供的MediaCodec等,此时我们就需要通过 JNI 来调用 Java 一个类的构造方法来创建这个 Java 类。
C++ 编程std::string类 td::string是C++标准库中的一个类,它用于表示字符串,在C++中是一个非常常用的数据类型。std::string可以保存任意长度的字符串,并且支持各种字符串操作,包括连接、查找、替换等等。
相关文章
- 详解二叉树的存储王道版(C++/C)
- 在C++中,你真的会用new吗?
- 【VS开发】【C++开发】const在函数前与函数后的区别
- C++-STL-map:map插入元素的几种方式【用数组方式插入数据】【用insert函数插入pair数据】【用insert函数插入value_type数据】
- C++ :.cpp【头文件(进行函数、变量、宏、结构体、类声明)】、.cpp【源文件(变量定义、函数实现)】、.hpp(头文件;将.cpp的实现代码混入.h头文件中,定义与实现都包含在同一个文件)
- C++ :全局变量(extern int a;)、全局函数【可跨文件/模块使用】【只在头文件中做“声明”】
- C/C++-编译器(一):gcc/g++【级别:Level-0】【步骤:①编译(g++ -c xx.cpp -o a.o);②链接(g++ xx.o yy.o -o exe.bin)(检查函数引用)】
- Python函数中的省略号(...)【①、类型提示;②、函数内部,相当于pass;③、numpy中的索引】【很多Python库的源码中有很多省略号来防止源码泄露,在别的地方用Python或C++重写】
- C/C++ 的宏中#和##的作用和展开
- C++空类产生哪些成员函数 || C++类可以自动生成的6个成员函数
- 从零开始学C++之构造函数与析构函数(三):深拷贝与浅拷贝、空类
- 一些常用的c++系统函数
- VS2010 调试C++项目 fatal error LNK1123 错误解决的方法
- C++中string erase函数的使用
- c++ STL迭代器实例
- C++函数模板template(模板函数)
- C/C++中如何在main()函数之前执行一条语句?
- 【C语言和C++】实现线程池
- 《挑战30天C++入门极限》C++中利用构造函数与无名对象简化运算符重载函数
- VC++下使用md5函数
- C++之多态性与虚函数
- 【并发编程六】c++进程通信——信号量(semaphore)
- C++多线程中调用python api函数
- C++纯虚函数、抽象类、纯抽象类
- C++:static关键字——修饰变量、函数以及作为类成员详解
- C++:指针和const相关问题
- C++中怎么获取类的成员函数的函数指针?