海子的乐园

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

  标准库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  海子的乐园  阅读(166)  评论(0编辑  收藏  举报