C++ String变量 与 <string.h>库
介绍一下 C++ String 变量与 <string.h> 库。
正片
String变量类型
String变量类型即字符串变量类型,有关它的初始化:
1 | string str; //初始化一个str变量,默认为"" |
String变量类型可以当作一个char数组来使用,但它不是char数组,如果您想转换成char*字符串,请向下翻阅 string.c_str() 函数。
1 | string str="abcdefg"; |
输出为
1 | d |
- string变量的加法
c++的string类型变量能够使用’+’相加,返回结果是两者拼接后的string字符串。
1 | string str=Hello; |
输出为
1 | Hello World |
String.h 库 常用函数
string to_string()
我想第一个就介绍它,to_string()是我们经常且频繁会用到的一个函数,它用于将数值转换为string字符串,并返回转换后的string字符串。
- string to_string()的参数应用:
1
2
3
4
5
6
7
8
9string to_string (int val);
string to_string (long val);
string to_string (long long val);
string to_string (unsigned val);
string to_string (unsigned long val);
string to_string (unsigned long long val);
string to_string (float val);
string to_string (double val);
string to_string (long double val);输出为1
2string str=to_string(123) + "abc";
cout<<str<<endl;1
123abc
double stod(string str)、float stof(string str)、int stoi(string str)
这几个也是非常重要的函数,并也是经常使用的函数。具体作用为将str转换为相应的数值类型。
1 | cout<<stod("13.4")<<endl; |
输出为
1 | 13.4 |
除了标题中的几个,还有long long stoll(string str)、unsigned stoul(string str)等等,不再赘述。
void swap(string a , string b)
将a字符串与b字符串交换。
1 | string a="abc"; |
输出为
1 | 123 abc |
string strrev(string str)
倒转字符串中的内容
1 | string str="abc"; |
输出为
1 | cba |
String 方法
iterator string.begin()
指向string类型变量的首位字符迭代器
iterator string.end()
指向string类型变量的末位字符迭代器的后一位。
int string.find()
寻找来自string类型变量的某位字符或字符串位置,返回其下标。
1 | string.find(char chr); |
例如
1 | string str="abcabc"; |
输出为
1 | 0 |
string string.substr()
截取字符串。
1 | string string.substr() //不写参数默认返回string |
例如
1 | string str="abcdefg"; |
输出为
1 | abcdefg |
string string.erase()
删除字符串
1 | string string.erase(int n); //从string下标为n开始的位置向后删除到尾返回 |
例如
1 | string str="abcdefg"; |
输出为
1 | a |
char *string.c_char()
将string字符串转换为经典C中的char*字符串
先更新那么多,实在是记不太清楚,有些成员函数可能有遗漏,如有大佬发现问题麻烦在评论区留言,我将将其订正,如果在以后想起来了有关于string的用法我还会更新到这篇文章中。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Joyer的博客!
评论