1、s.c_str();

C语言中没有string类型,C语言接口函数(例:strstr())的string需要转char*。

用法:string转char*:c_str()

2、strstr(str1.c_str(),str2);

C语言中的函数,在字符串中查找另一个字符串是否存在,不存在返回false,存在返回true。

char * strstr(const char *str1, const char *str2);

用法:strstr()

3、s.replace(pos, len, str);

用str来替换下标从pos开始替换长度为len的子串。

用法:replace()

4、s.at(i);

定位字符串string类型中字符。等价于char*类型中的s[i]。

5、s.substr(pos,n);

截取s中从pos开始(包括0)的n个字符的子串,并返回。n可不写,默认截取s中从从pos开始(包括0)到末尾的所有字符的子串,并返回。

字符串常见函数

6、rand()%n,srand((int)time(0));

#include <cstdlib>
#include <ctime>
srand((int)time(0));    //产生随机种子,每次产生的随机数不一样
int a  = x + rand()%10;             //产生[x,10)之间的随机数

7、i=str.find(s.c_str(),pos);

找到子串返回其下标,否则返回string::npos,npos是-1的无符号表示,是个大正数。

npos可能是个很大的正数

8、char*和string转换

  • char*变string:
void function(char* str){    //统计char*字符串长度不能用str.size(),只能用strlen(str);
string s(str);  //也可string s = str;
}
或:
char a[] = "ABCE";
string str(a);

  • string变char*:
char str[s.size()+1];    //需要预先指定大小
auto ret=s.c_str();   //先把string类型的s变为char*
strcpy(str,ret);       //再把char*拷贝给str,注意string变char*用strcpy复制//注:不能直接用str=s.c_str()来转,会报错

  • string类型也可以直接用str[i]下标访问字符。
  • 初始化时char* str和char str[]的区别:前者指向常量(不可变常量值),后者可以改变str的值。
  • string转char*的数组长度问题,需要+1,还有个结束符'0',不加可能会报错。
int len=aa.length();
char* bb=new char[len+1];    //还有个结束符'0'
strcpy_s(bb,len+1,aa.c_str());
...
delete [] bb;  //用完后

9、s.insert(i,"%20");

在字符串s中的i位置插入"%20"字符串。

ret.insert(vec);//在集合ret中插入元素vec,vec也可以是容器,要看集合ret的类型。

10、sort(vec.begin(),vec.end());

对整型容器vec中的元素排序。前n项排序则上限用vec.begin()+n;

还可以加个cmp的函数来按想要的方式排序:sort(vec.begin(),vec.end(),cmp);

sort(vec.begin(),vec.end(),cmp);
//这是对整型数组按字典排序
bool cmp(int a,int b){string s1 = to_string(a);string s2 = to_string(b);return s1<s2;
}
//这是对整型从大到小逆向排序
bool cmp(int x,int y){return x>y;
}

11、s.assign(vec.begin(), vec.end());

容器拷贝,把容器或者集合vec中元素拷贝到容器s中,通常和集合使用去重:

vector<int> vec;
set<int> ret(vec.begin(), vec.end());  //vec的元素逐个插入集合ret
vec.assign(ret.begin(), ret.end());

或者

vector<int> vec;
set<vector<int>> ret;
ret.insert(vec);         //整个vec一次性插入集合ret
for(auto x:ret)vec.push_back(x);  //set再逐个插入容器vec,即可去重

对于数组拷贝到容器:

int a[] = {...};
vec.assign(a,a+a.size())

12、stoi 和 to_string()

string转整数:int y = stoi(s); 或者int y = atoi(s.c_str());

整数转string:string s = to_string(y);

13、reverse(y.begin(),y.end());

reverse函数功能是逆序(或反转),多用于字符串、数组、容器。反转在[first,last)范围内的顺序,头文件是#include <algorithm>。例:

14、s.erase(pos,n);

string.erase(pos,n) //删除从pos开始的n个字符,例:s.erase(1,2);

s.erase(s.begin()); //删除pos处的一个字符(pos是string类型的迭代器)

s.erase(s.begin()+1,s.end()-1); //删除从first到last中间的字符(first和last都是string类型的迭代器)

(注:也可用于整型容器)

15、vec.clear();

清空vec的内容,更多有关vec的操作如图:

16、

db2 replace函数的用法_C++常用函数整理相关推荐

  1. db2 replace函数的用法_MySQL常用函数,你真得看看!

    本文同步Java知音社区,专注于Java 作者: 蔡不菜丶http://juejin.im/post/5ed3b3fb6fb9a047ed240575 概念: 相当于java中的方法,将一组逻辑语句封 ...

  2. c语言count函数的用法,java count函数用法

    java count函数用法 [2021-02-11 06:55:28]  简介: 在excel中count函数的功能是:计算数字的个数,对给定数据集合或者单元格区域中数据的个数进行计数.COUNT函 ...

  3. c语言掌握常用函数,c语言一些常用函数.pdf

    c语言一些常用函数 C 语言程序设计(常用函数说明) C 语言是 1972 年由美国的 Dennis Ritchie 设计发明的,并首次在 UNIX 操作系统的 DE C PDP-11 计算机上使用. ...

  4. python日历函数_Python—日历函数—日历模块的常用函数,calendar,常见

    Python-日历函数-日历模块的常用函数,calendar,常见 发表时间:2020-07-07 日历函数 calendar模块中提供了非常多的函数来处理年历和日历. 例如:打印2020年7月份的日 ...

  5. c++ encode 函数_C++常用函数

    ctype.h 中常用函数:字符类型判断及简单转换 C 语言中 ,在 C++ 中为 本文下面列出这个头文件的常用函数.目的是了解字符判断函数和学习简洁代码编写. 注意: C++ 中的 和 头文件继承于 ...

  6. XPath用法及常用函数

    目录 XPath简介 XPath语法 选取节点 谓语(Predicates) 选取未知节点 选取若干路径 XPath 轴 XPATH的几个常用函数 XPath简介 XPath (XML Path La ...

  7. c语言string函数的用法_C语言基础| 指针和函数

    点击蓝字关注我们 指针和函数 栈帧:当函数被调用时,系统会在stack空间上申请一块内存,用来给函数提供空间,存储形参和局部变量(定义在函数内部的变量). 当函数调用结束时,这块内存空间会被自动释放( ...

  8. SQL数据分析:sqlzoo官网学习select,where,order by,limit,聚合函数,having,常用函数,窗口函数,表链接,子查询

    SQL数据分析: 2022找工作是学历.能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开的话,你就得学数据库,sql,oracle,尤其sql要学,当然,像很多金 ...

  9. mysqlsql常用函数_MySQL中的常用函数

    在MySQL中,函数不仅可以出现在select语句及其子句中,而且还可以出现在update.delete语句中. 常用的函数有: 1. 字符串函数:主要用于处理字符串. 2. 数值函数:主要用于处理数 ...

  10. python常用函数-Python 学习:常用函数整理

    整理Python中常用的函数 一,把字符串形式的list转换为list 使用ast模块中的literal_eval函数来实现,把字符串形式的list转换为Python的基础类型list from as ...

最新文章

  1. 什么是Bi-GRU语义解析
  2. Direct2D教程(三)简单几何图形
  3. trap信号捕捉命令介绍与shell结合实战讲解
  4. SCANF SCANF_S
  5. 文件上传之传统方式上传代码回顾
  6. mysql二级缓存redis_redis实现二级缓存
  7. 开发对接微信卡包会员卡_产品||AI刷脸会员+电子会员卡
  8. 高速公路坐标高程计算程序开发之后记
  9. 集成电路芯片半导体中英文对照术语词汇表
  10. Hadoop详解(二)——HDFS的命令,执行过程,Java接口,原理详解。RPC机制
  11. 计算机软考深圳积分,2020年软考证书能为深圳积分入户加分吗?
  12. 杂记——贝叶斯可信区间与频率置信区间的区别
  13. 无法出现 Bandizip 的右键菜单
  14. 【自动驾驶-感知-红绿灯】红绿灯识别知识点
  15. Linux下往github上传项目
  16. openpyxl基本使用
  17. keycloak 认证服务
  18. 关于五常膝关节矫形器的介绍
  19. CC2541之发现服务、特征值及读取特征值中存储值的详细过程
  20. CSP-S/J 2019 (原NOIP)试题+答案

热门文章

  1. iOS平台下闪退原因汇总(一):Ran out of trampolines of type 0/1/2 运行时间错误
  2. 如何使用高大上的方法调参数
  3. CentOS配置Tomcat开机启动
  4. NSData与UIImage之间的转换
  5. IOS--多线程--GCD--在CGD中快速实现多线程的并发控制
  6. angular 和 backbone 区别
  7. 设置域用户帐户密码策略
  8. java中的map是什么_Java中Map的使用
  9. sqlserver替换特殊字符
  10. SQL中的count()、sum()函数内加条件