STL常用函数大全

w一 string函数

  1. #include
  2. 只能用cin cout
  3. 读入整行的时候,若为char变量 getline(str, 100) char str[100].若为string变量 getline(cin.str)
  4. ±是拼起来 string a = 123 string b = 50 a + b = 12350 b + a = 50123
  5. return a+ b < b+a 返回拼起来最小的那个
  6. 两个string可直接比较 按照字典序
  7. string长度为 str.length()或string.size()
  8. str.insert(pos,string)//在str[pos]处插入字符串string
  9. insert(it(原字符欲插位置),it2,it3)//后面两个为首尾迭代器 str.insert(str.begin() + 3, str2.begin(), str2.end())
  10. str.erase(str.begin() + 4) //删除单个元素
  11. str.erase(str.begin() + 2, str.end()-1)//删除这个区间内所有函数
  12. str.clear() 清空字符串
  13. str.substr(pos,len) 返回从pos位开始 长度为len的字符串
  14. string::npos 作为find函数失配时的返回值
  15. str.find(str2) // 当str2是str字串时 返回其在str 第一次出现的位置 不然返回string::npos
  16. str.find(str2,pos)//从str的pos位开始匹配
  17. str.replace(pos,len,str2)//从pos位开始 长度为len的字串替换为str2
  18. str(it1, it2, str2) 把str的迭代器在【it1, it2)范围内替换为 str2;str(str.begin(), str.begin() + 5, str3);
  19. string week[7] = {"MON ", "TUE ", "WED ", "THU ", "FRI ", "SAT ", "SUN "};

二 “set函数

  1. 内部自动有序且不重复的容器 #include
`set<int> st
      st.insert(3)
      st.insert(2)
      st.insert(5)
      st.insert(3)
      ouput  2 3 5

set内部自动递增排序去重

  1. st.size()表示set内元素个数 set.clear()表示清空set内部所有元素
set<int>::iterator it = st.find(2);//set中查找2  返回其迭代器
 3. printf("%d", *it)

3 erase与find连用

. max()与 min函数 与 abs()都在#include 若求三个xyz最大值 则 max(x, max(y, z));
2. abs(x)返回x的绝对值 x必须为整数 若为浮点数 则用fabs(x);
3. swap(x, y) 交换x与y的值
4. fill(a, a+5, 233)//将数组这一区间的值全部赋为233
5. upper_bound(first, last, val) 用来寻找【first, last)范围内第一个大于val的值
6. lower_bound是找第一个大于等于的值
7.
8. isdigit函数 isdigit(char c)
用法:#include <ctype.h>
功能:判断字符c是否为数字
说明:当c为数字0-9时,返回非零值,否则返回零。

2. isalpha
原型:int isalpha( int c )
头文件:C++ (C语言使用<ctype.h>)
功能:判断字符c是否为英文字母
说明:若为英文字母,返回非0(小写字母为2,大写字母为1)。若不是字母,返回0
在标准c中相当于使用“ isupper( c ) || islower( c ) ”做测试

  1. isupper

原型:extern int isupper(int c);

头文件:(旧版本的编译器使用<ctype.h>)

功能:判断字符c是否为大写英文字母

说明:当参数c为大写英文字母时,返回非零值,否则返回零

附加说明: 此为宏定义,非真正函数

  1. islower(char c)

原型:int islower(int c)
头文件:#include(旧版本的编译器使用<ctype.h>)
功能:测试字符c是否为小写字母
说明:若参数c为小写英文字母,则返回TRUE,否则返回NULL(0)
附加说明:此为宏定义,非真正函数。

  1. tolower函数

1.功 能: 把字符转换成小写字母,非字母字符不做出处理。

2.头文件:在VC6.0可以是ctype.h或者stdlib.h,常用ctype.h

3.目前在头文件iostream中也可以使用,C++ 5.11已证明。

4.原函数: int tolower(int c);

5.用法:tolower(ch)

#include <iostream>
#include <string>
#include <cctype>
using namespace std;
int main()
{
    string str = "THIS IS A STRING";
    for (int i=0; i <str.size(); i++)
       str[i] = tolower(str[i]);//把大写全部转为小写
    cout<<str<<endl;
    return 0;
}

二 toupper函数
1.原型:int toupper(int c);
2.头文件:#include <ctype.h>;
3.功能:将小写英文字母 转换为大写英文字母。
4.说明:如果c为小写英文字母,则返回对应的大写字母;否则返回原来的

三 2、stoi和atoi

      包含在#include<string>,不是c++11的可以在#include<cstring>。作用是将字符串转化为int型。区别是stoi的形参是const string*,而atoi的形参是const char*。c_str()的作用是将const string*转化为const char*。

①atoi()的参数是 const char* ,因此对于一个字符串str我们必须调用 c_str()的方法把这个string转换成 const char类型的,而stoi()的参数是const string,不需要转化为 const char*;
②stoi()会做范围检查,默认范围是在int的范围内的,如果超出范围的话则会runtime error!而atoi()不会做范围检查,如果超出范围的话,超出上界,则输出上界,超出下界,则输出下界;

string s1("1234567");
char* s2 = "1234567";
int a = stoi(s1);
int b = atoi(s2);
int c = atoi(s1.c_str());
cout << a << endl;
cout << b << endl;
cout << c << endl;
  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值