string& append(const char* s);
// 把C风格字符数组s连接到当前字符串结尾
string& append(const char* s, int n);
// 把C风格字符数组s的前n个字符连接到当前字符串结尾
string& append(const string &s);
// 将字符串s追加到当前字符串末尾
string& append(const string&s, int pos, int n);
// 把字符串s中从pos开始的n个字符连接到当前字符串结尾
string& append(int n, char c);
// 在当前字符串结尾添加n个字符c
string 查找和替换
find成员函数
int find(const string& str, int pos = 0) const;
// 查找str在当前字符串中第一次出现的位置,从pos开始查找,pos默认为0
int find(const char* s, int n = 0) const;
// 查找C风格字符串s在当前字符串中第一次出现的位置,从pos开始查找,pos默认为0
int find(const char* s, int pos, int n) const;
// 从pos位置查找s的前n个字符在当前字符串中第一次出现的位置
int find(const char c, int pos = 0) const;
// 查找字符c第一次出现的位置,从pos开始查找,pos默认为0
int rfind(const string& str, int pos = npos) const;
// 从pos开始向左查找最后一次出现的位置,pos默认为npos
int rfind(const char* s, int pos = npos) const;
// 查找s最后一次出现的位置,从pos开始向左查找,pos默认为npos
int rfind(const char* s, int pos, int n) const;
// 从pos开始向左查找s的前n个字符最后一次出现的位置
int rfind(const char c, int pos = npos) const;
// 查找字符c最后一次出现的位置
#include <string>
using namespace std;
/** 带符号整数转换成字符串 */
string 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);
string 转 double / int
#include <cstdlib>
#include <string>
using namespace std;
/** 字符串转带符号整数 */
int stoi(const string& str, size_t* idx = 0, int base = 10);
long stol(const string& str, size_t* idx = 0, int base = 10);
long long stoll(const string& str, size_t* idx = 0, int base = 10);
/**
* 1. idx返回字符串中第一个非数字的位置,即数值部分的结束位置
* 2. base为进制
* 3. 该组函数会自动保留负号和自动去掉前导0
*/
/** 字符串转无符号整数 */
unsigned long stoul(const string& str, size_t* idx = 0, int base = 10);
unsigned long long stoull(const string& str, size_t* idx = 0, int base = 10);
/** 字符串转实数 */
float stof(const string& str, size_t* idx = 0);
double stod(const string& str, size_t* idx = 0);
long double stold(const string& str, size_t* idx = 0);
与之类似的在同一个库里的还有一组基于字符数组的函数如下。
// 'a' means array, since it is array-based.
int atoi(const char* str); // 'i' means int
long atol(const char* str); // 'l' means long
long long atoll(const char* str); // 'll' means long long
double atof(const char* str); // 'f' means double