实用的string操作小结

  标准库string类型定义了大量函数,特将一些实用的操作记录下来

  1. 构造方法

  string s(cp, n)       // s是cp指向的数组中前n个字符的拷贝,此数组至少应该包含n个字符

  string s(s2, pos2)     //s是string s2从下标pos2开始的字符拷贝。若pos2>s2.size(),此行为未定义

  string s(s2, pos2, len2)   //在上面一个构造函数的基础上,增加len2长度限制参数,指示从pos2开始的len2长度字符拷贝

  2. substr子字符串操作

  s.substr(pos, n)      //返回一个string,包含从pos位置开始的n个字符的拷贝

  3. assign, insert, erase 操作

  s.insert(s.size(), 5, '!')   // 在s末尾插入5个!字符

  s.erase(s.size() - 5, 5);  // 删除s末尾5个字符

  s.assign(cp, 7)      // 将cp前7个字符拷贝给s,此操作会替换s中所有的字符

  s.insert(s.size(), cp + 7)  // 在s末尾插入cp[7]开始的字符串

  4. append, replace 操作

  s.append("abc")      // 在s末尾添加字符串abc

  s.replace(pos, num, "abc")  // 将s中pos位置开始num个字符替换为abc

  5. string搜索操作

  s.find(args)    // 查找s中args第一次出现的位置

  s.rfind(args)    // 查找s中args最后一次出现的位置

  s.find_first_of(args)  // 在s中查找args中任何一个字符第一次出现的位置

  s.find_last_of(args)  // 在s中查找args中任何一个字符最后一次出现的位置

  s.find_first_not_of(args)  // 在s中查找第一个不在args中的字符

  s.find_last_not_of(args)  // 在s中查找最后一个不在args中的字符

  ===args表现形式如下===

  c, pos

  s, pos

  cp, pos

  cp, pos, n

  ===pos默认值0===

  6.数值转换

  to_string(val)    // val为任何算术类型

  stoi(s, p, b)      // int

  stol(s, p, b)      // long  

  stoul(s, p, b)      // unsigned long

  stoll(s, p, b)      // long long

  stoull(s, p, b)      // unsigned long long

  ===p为s中第一个非数值类型字符的下标默认0,b为进制默认10===

  stof(s, p)      // float

  stod(s, p)      // double

  stold(s, p)      // long double

 

 

posted on 2014-05-11 23:22  海子的乐园 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/yelo/p/3722548.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值