您的位置:首页 > 编程语言 > C语言/C++

C++编程常用头文件及其包含函数汇总

2017-12-31 16:00 260 查看
【转自】http://blog.csdn.net/linhaiyun_ytdx/article/details/48064065

#include<iostream>

是标准的C++头文件,任何符合标准的C++开发环境都有这个头文件。

当使用
<iostream.h>
时,相当于在C中调用库函数,使用的是全局命名空间,也就是早期的C++实现;当使用
<iostream>
的时候,该头文件没有定义全局命名空间,必须使用
namespace std;
这样才能正确使用
cout


#include <cstdlib>

是C++里面的一个常用函数库, 等价于C中的
<stdlib.h>


所包涵的函数:

1.函数名称:
calloc


函数原型:
void * calloc(unsigned n,unsign size);


函数功能: 分配n个数据项的内存连续空间,每个数据项的大小为size

函数返回: 分配内存单元的起始地址,如果不成功,返回0

2.函数名称:
free


函数原型:
void free(void* p);


函数功能: 释放p所指的内存区

参数说明: p-被释放的指针

3.函数名称:
malloc


函数原型:
void * malloc(unsigned size);


函数功能: 分配size字节的存储区

函数返回: 所分配的内存区地址,如果内存不够,返回0

4.函数名称:
realloc


函数原型:
void * realloc(void * p,unsigned size);


函数功能: 将p所指出的已分配内存区的大小改为size,size可以比原来分配的空间大或小

函数返回: 返回指向该内存区的指针.NULL-分配失败

5.函数名称:
rand


函数原型:
int rand(void);


函数功能: 产生0到32767间的随机整数(0到0x7fff之间)

函数返回: 随机整数

6.函数名称:
abort


函数原型:
void abort(void)


函数功能: 异常终止一个进程.

7.函数名称:
exit


函数原型:
void exit(int state)


函数功能: 程序中止执行,返回调用过程

参数说明: state:0-正常中止,非0-非正常中止

8.函数名称:
getenv


函数原型:
char* getenv(const char *name)


函数功能: 返回一个指向环境变量的指针

函数返回: 环境变量的定义

参数说明: name-环境字符串

9.函数名称:
putenv


函数原型:
int putenv(const char *name)


函数功能: 将字符串name增加到DOS环境变量中

函数返回: 0:操作成功,-1:操作失败

参数说明: name-环境字符串

10.函数名称:
labs


函数原型:
long labs(long num)


函数功能: 求长整型参数的绝对值

函数返回: 绝对值

11.函数名称:
atof


函数原型:
double atof(char *str)


函数功能: 将字符串转换成一个双精度数值

函数返回: 转换后的数值

参数说明: str-待转换浮点型数的字符串

12.函数名称:
atoi


函数原型:
int atoi(char *str)


函数功能: 将字符串转换成一个整数值

函数返回: 转换后的数值

参数说明: str-待转换为整型数的字符串

13.函数名称:
atol


函数原型:
long atol(char *str)


函数功能: 将字符串转换成一个长整数

函数返回: 转换后的数值

参数说明: str-待转换为长整型的字符串

14.函数名称:
ecvt


函数原型:
char *ecvt(double value,int ndigit,int *dec,int *sign)


函数功能: 将浮点数转换为字符串

函数返回: 转换后的字符串指针

参数说明: value-待转换底浮点数,ndigit-转换后的字符串长度

15.函数名称:
fcvt


函数原型:
char *fcvt(double value,int ndigit,int *dec,int *sign)


函数功能: 将浮点数变成一个字符串

函数返回: 转换后字符串指针

<cstdlib>
常用函数分类

1.字符转换函数:
atof,atoi,atol,strtod,strtol,strtoul


2.伪随机数函数:
rand,srand


3.动态分配内存函数:
calloc,free,malloc,realloc


4.环境函数:
abort,atexit,exit,getenv,system


5.查找,分类函数:
bsearch,qsort


6.整数计算函数:
abs,div,labs,ldiv,


7.多字节文字(中日韩文)函数:
mblen,mbtowc,wctomb,mbstowcs,wcstombs,


8.宏:
EXIT_FAILURE,EXIT_SUCCESS,MB_CUR_MAX,NULL,RAND_MAX


9.类型:
div_t,ldiv_t,size_


#include <algorithm>

STL 通用算法

非修改性序列操作(12个)

1.循环

对序列中的每个元素执行某操作 for_each()

2.查找

在序列中找出某个值的第一次出现的位置 find()

在序列中找出符合某谓词的第一个元素 find_if()

在序列中找出一子序列的最后一次出现的位置 find_end()

在序列中找出第一次出现指定值集中之值的位置 find_first_of()

在序列中找出相邻的一对值 adjacent_find()

3.计数

在序列中统计某个值出现的次数 count()

在序列中统计与某谓词匹配的次数 count_if()

4.比较

找出两个序列相异的第一个元素 mismatch()

两个序列中的对应元素都相同时为真 equal()

5.搜索

在序列中找出一子序列的第一次出现的位置 search()

在序列中找出一值的连续n次出现的位置 search_n()

修改性序列操作(27个)

1.复制

从序列的第一个元素起进行复制 copy()

从序列的最后一个元素起进行复制 copy_backward()

2.交换

交换两个元素 swap()

交换指定范围的元素 swap_ranges()

交换由迭代器所指的两个元素 iter_swap()

3.变换

将某操作应用于指定范围的每个元素 transform()

4.替换

用一个给定值替换一些值 replace()

替换满足谓词的一些元素 replace_if()

复制序列时用一给定值替换元素 replace_copy()

复制序列时替换满足谓词的元素 replace_copy_if()

5.填充

用一给定值取代所有元素 fill()

用一给定值取代前n个元素 fill_n()

6.生成

用一操作的结果取代所有元素 generate()

用一操作的结果取代前n个元素 generate_n()

7.删除

删除具有给定值的元素 remove()

删除满足谓词的元素 remove_if()

复制序列时删除具有给定值的元素 remove_copy()

复制序列时删除满足谓词的元素 remove_copy_if()

8.唯一

删除相邻的重复元素 unique()

复制序列时删除相邻的重复元素 unique_copy()

9.反转

反转元素的次序 reverse()

复制序列时反转元素的次序 reverse_copy()

10.环移

循环移动元素 rotate()

复制序列时循环移动元素 rotate_copy()

11.随机

采用均匀分布来随机移动元素 random_shuffle()

12.划分

将满足某谓词的元素都放到前面 partition()

将满足某谓词的元素都放到前面并维持原顺序 stable_partition()

序列排序及相关操作(27个)

1.排序

以很好的平均效率排序 sort()

排序,并维持相同元素的原有顺序 stable_sort()

将序列的前一部分排好序 partial_sort()

复制的同时将序列的前一部分排好序 partial_sort_copy()

2.第n个元素

将第n各元素放到它的正确位置 nth_element()

3.二分检索

找到大于等于某值的第一次出现 lower_bound()

找到大于某值的第一次出现 upper_bound()

找到(在不破坏顺序的前提下)可插入给定值的最大范围 equal_range()

在有序序列中确定给定元素是否存在 binary_search()

4.归并

归并两个有序序列 merge()

归并两个接续的有序序列 inplace_merge()

5.有序结构上的集合操作

一序列为另一序列的子序列时为真 includes()

构造两个集合的有序并集 set_union()

构造两个集合的有序交集 set_intersection()

构造两个集合的有序差集 set_difference()

构造两个集合的有序对称差集(并-交) set_symmetric_difference()

6.堆操作

向堆中加入元素 push_heap()

从堆中弹出元素 pop_heap()

从序列构造堆 make_heap()

给堆排序 sort_heap()

7.最大和最小

两个值中较小的 min()

两个值中较大的 max()

序列中的最小元素 min_element()

序列中的最大元素 max_element()

8.词典比较

两个序列按字典序的第一个在前 lexicographical_compare()

9.排列生成器

按字典序的下一个排列 next_permutation()

按字典序的前一个排列 prev_permutation()

使用该头文件中的函数可以节省很多代码量

#include <set>

是C++里面的模板类 “集合”的头文件

set是C++标准库中的一种关联容器。所谓关联容器就是通过键(key)来读取和修改元素。与map关联容器不同,它只是单纯键的集合。

1)set容器的每一个键只能对应一个元素,即不存在键相同的不同元素

创建了一个int型的vector容器,存储20个数据,0~9每个数字都出现了两次。用整个vector初始化一个int型set容器,这个set容器却只有10个元素,0~9每个数字只出现一次。证实了set容器的每一个键只能对应一个元素。

2)可以使用insert操作向set容器添加元素

insert()的参数既可以是一个键,也可以是一对迭代器,它们都可以实现向set容器中添加元素,只不过函数的返回值不同。另外,向set容器中添加元素后,它会自动排序。

3)获取元素

与map容器不同,set容器不支持下标操作访问元素。

使用count()函数可以查询元素是否存在,如果查询的元素存在则返回1,反之则0。使用find()函数,如果查询的元素存在则返回指向该元素的迭代器,反之则返回超出末端迭代器。

使用count()和find()函数查询同一元素5,count()函数返回的是该元素在set容器中的数量,find()函数则返回指向该元素的迭代器。需要注意的是,虽然使用find()函数可以返回指向该元素的迭代器,但只能对其做读操作,任何试图修改键值的操作都是非法的。

#include <iterator>

是迭代器(Iterator)模式,又叫做游标(Cursor)模式

GOF给出的定义为:提供一种方法访问一个容器(container)对象中各个元素,而又不需暴露该对象的内部细节。

从定义可见,迭代器模式是为容器而生。很明显,对容器对象的访问必然涉及到遍历算法。你可以一股脑的将遍历方法塞到容器对象中去;或者根本不去提供什么遍历算法,让使用容器的人自己去实现去吧。这两种情况好像都能够解决问题。通常与
#include <set>
连用

#include <ctime>

功能是把日期和时间转换为字符串

日期和时间函数: 本类别给出时间和日期处理函数

时间操作函数得到处理器时间 clock

得到时间差 difftime

设置时间 mktime

得到时间 time

时间转换函数 得到以ASCII码表示的时间 asctime

得到字符串表示的时间 ctime

得到指定格式的时间 strftime

#include< local.h>

地区化: 本类别的函数用于处理不同国家的语言差异。

地区控制 地区设置 setlocale

数字格式约定查询 国家的货币、日期、时间等的格式转换 localeconv

以上是用于原博主编程使用,属于不完整版本,完整版本请见:

C/C++常用头文件及函数汇总
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++ 头文件 算法