C++和C常用函数汇总~~

strncpy(),strncpy(char *a,char *b,int n):将a中的字符复制到b中,长度为n
strcmp(),出现在代码填空题中,比较两个字符串str1,str2

#include<memory.h>
memset(a,n,sizeof(a));把数组a的值全部初始化为n
memcpy(b,a,sizeof(a));把数组a的值复制到数组b中
memcpy(b,a,sizeof(int)*k);把a中前k个复制到b

#include 中 sort(a,a+n)排序函数,从小到大,a为数组名字,n为元素个数
sort(vector.begin(),vector.end())排序vector
sort(a,a+n,compare)即可按照自定义顺序排列,compare为比较函数,返回值为bool
lower_bound(a,a+n,x)二分查找,查找大于或等于x的第一个位置,只能查找vector<>数组,返回值为vector<>::iterator指针
如果需要对类,结构体排序的话也是自己写出排序的方法:
bool compare(int a,int b)
{
return a<b; //升序排列,如果改为return a>b,则为降序
}
int cmp(Node p1,Node p2){
//起始点从小到大排列
if(p1.b<p2.b) return 1;
//如果起始点相同的话,按照终止点从小到大排列
else if(p1.b==p2.b&&p1.e<p2.e) return 1;
return 0;
}
sort(a,a+n,cmp);

#include
定义示例:stack s;
void push(x),将值x压入栈
void pop(),删除顶部元素
top(),获得栈顶元素,但不删除
bool empty(),检查是否为空
int size(),获取大小

#include
定义示例:queue q;
void push(x),将值x入队
void pop(),出队
front(),获得队头元素,但不删除
bool empty(),检查是否为空
int size(),获取大小

#include 数组
定义示例:vector b(5);或者vector a;
赋值:b[0]=1;只有第一种定义可以这样赋值
int size(),获取大小
void resize(int num),改变大小
void push_back(int x),向尾部添加元素
void pop_back(),删除最后一个元素
void clear(),清空
bool empty(),检查是否为空
iterator insert(iterator x,y),向vector数组的x位置插入元素y,x可以为v.begin()+2
iterator erase(iterator x),删除vector数组的x位置元素
iterator begin(),返回头指针
iterator end(),返回尾指针
vector<>::iterator为一个可以指向其元素的指针

cin.getline() // 接受一个字符串,可以接收空格并输出

#include
using namespace std;
main ()
{
char m[20];
cin.getline(m,5); //与上面基本相同。
cout<<m<<endl;
}

输入:jkljkljkl
输出:jklj

接受5个字符到m中,其中最后一个为’\0’,所以只看到4个字符输出;
getline() // 接受一个字符串,可以接收空格并输出,需包含“#include”

#include
#include
using namespace std;
main ()
{
string str;
getline(cin,str);
cout<<str<<endl;
}
同样gets也行
输入:jkljkljkl //VC6中有个bug,需要输入两次回车。
输出:jkljkljkl

输入:jkl jfksldfj jklsjfl
输出:jkl jfksldfj jklsjfl

和cin.getline()类似,但是cin.getline()属于istream流,而getline()属于string流,是不一样的两个函数

getchar() //接受一个字符,需包含“#include”

#include
using namespace std;
main ()
{
char ch;
ch=getchar(); //不能写成getchar(ch);
cout<<ch<<endl;
}

输入:jkljkljkl
输出:j

猜你喜欢

转载自blog.csdn.net/qq_42038853/article/details/88770643
今日推荐