C++ String类

C++部分

/* 初始化字符串 */
string str; //默认构造函数
string str(str2); //拷贝构造函数
string str(rv); //移动构造函数
string str(str2,beg); //区间构造函数
string str(str2,beg,end); //区间构造函数
string str = str2; //复制构造函数
string str(n,c); //使用n个c初始化字符串
string str{“dfd”}; // 列表初始化
string str = "hello world"; //c-style初始化
string str2("hello world"); //c-style初始化

/* 属性 */
str.empty(); //是否为空
str.size(); //元素个数
str.length(); //元素个数
str.max_size(); //极限容量
str.capacity(); //当前容量
str.reserve(); //修改容量
str.shink_to_fit(); //缩小容量,和元素个数匹配
str.resize(n); //修改字符串大小
str.resize(n, c); //修改字符串大小,多出的空间用c填充

/* 比较字符串 */
==
!=
>
<
>=
<=

/* 访问字符串 */
str[n]; //随机访问符访问
str.at(); //带边界检查的访问
str.front(); //返回队首
str.back(); //返回队尾

/* 转换为c-style字符串 */
const char *a=str.data();
const char *a=str.c_str();

/* 赋值 */
str = str2; //拷贝赋值
str = move(str2); //移动赋值
str.assign(str2,n,size); //区间赋值
str.assign(n,c); //批量赋值
str = {"dfd"}; //列表赋值

/* 添加 */
str.push_back(c); //添加字符
str += str2; //添加字符串
str = "abc" "def";
str.append(str2); //添加字符串
str.append(str2, n, size); //添加区间

/* 插入 */
str.insert(n, str2); //从索引n处插入字符串
str.insert(n, str2, m, size); //从索引n处插入str2的区间
str.insert(n, m, c); //从索引n处插入m个字符c
str.insert(n, begin, end); //从索引n处插入区间

/* 删除 */
str.clear(); //清空容器
str.erase(); //清空容器
str.erase(n); //删除索引n处的字符
str.erase(n, m); //删除索引n处的m个字符
str.erase(str.begin(), str.begin()+n); //删除迭代器处字符
str.pop_back(); //删除队尾字符

/* 替换 */
str.replace(0, 5, "Hi"); //替换字符串中的一部分
str.relpace(n, begin, end); //迭代器替换
str,replace(n, size1, str2, m, size2); //区间替换

/* 查找 */
if(str.find("world") != string::npos) //判断子串是否存在
str.find(c); //查找第一个字符
str.find(n, c); //从索引n开始查找第一个字符
str.rfind(c); //反向查找第一个字符
str.rfind(n, c); //从反向索引n开始查找第一个字符
str.find(str2, n, size); //查找str2的区间
str.find_first_of("//"); //在str中查找
str.find_first_of(n, "//"); //从索引n处,在str中查找
str.find_first_not_of("//"); //在str中查找
str.find_last_of("//"); //在str中查找
str.find_last_not_of("//"); //在str中查找

/* 切片 */
str.substr(0,3);
str.substr(3);

/* IO函数 */
<<
>>
getline(stream, str); //以换行符为结束符读取一行
getline(stream, str, ';'); //指定结束符读取一行

/* 数值转换 */
stoi(str, nullptr, base); // str是base进制,转换为int类型,以十进制输出
stol(str, nullptr, base);
stoul(str, nullptr, base);
stoll(str, nullptr, base);
stoull(str, nullptr, base);
stof(str, nullptr, base);
stod(str, nullptr, base);
stold(str, nullptr, base);
to_string();
to_wstring();

C部分

islower(char c) //是否为小写字母
isupper(char c) //是否为大写字母
isdigit(char c) //是否为数字
isalpha(char c) //是否为字母
isalnum(char c) //是否为字母或者数字
toupper(char c) //字母小转大
tolower(char c) //字母大转小
atoi(char c) //c-string转int
itoa(int n) //int转c-string
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

多弗朗强哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值