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

1. #include<iostream>是标准的C++头文件,任何符合标准的C++开发环境都有这个头文件。

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

 

2.#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>

字符转换函数:

atof,atoi,atol,strtod,strtol,strtoul

伪随机数函数:

rand,srand

动态分配内存函数:

calloc,free,malloc,realloc

环境函数:

abort,atexit,exit,getenv,system

查找,分类函数:

bsearch,qsort

整数计算函数:

abs,div,labs,ldiv,

多字节文字(中日韩文)函数:

mblen,mbtowc,wctomb

mbstowcs,wcstombs,

宏:

EXIT_FAILURE,

EXIT_SUCCESS,

MB_CUR_MAX,

NULL,RAND_MAX,

类型:

div_t,ldiv_t,size_

3.#include
<algorithm>//STL 通用算法

  非修改性序列操作(12个)
  循环 对序列中的每个元素执行某操作 for_each()
  查找 在序列中找出某个值的第一次出现的位置 find()
  在序列中找出符合某谓词的第一个元素 find_if()
  在序列中找出一子序列的最后一次出现的位置 find_end()
  在序列中找出第一次出现指定值集中之值的位置 find_first_of()
  在序列中找出相邻的一对值 adjacent_find()
  计数 在序列中统计某个值出现的次数 count()
  在序列中统计与某谓词匹配的次数 count_if()
  比较 找出两个序列相异的第一个元素 mismatch()
  两个序列中的对应元素都相同时为真 equal()
  搜索 在序列中找出一子序列的第一次出现的位置 search()
  在序列中找出一值的连续n次出现的位置 search_n()
    修改性序列操作(27个)
  复制 从序列的第一个元素起进行复制 copy()
  从序列的最后一个元素起进行复制 copy_backward()
  交换 交换两个元素 swap()
  交换指定范围的元素 swap_ranges()
  交换由迭代器所指的两个元素 iter_swap()
  变换 将某操作应用于指定范围的每个元素 transform()
  替换 用一个给定值替换一些值 replace()
  替换满足谓词的一些元素 replace_if()
  复制序列时用一给定值替换元素 replace_copy()
  复制序列时替换满足谓词的元素 replace_copy_if()
  填充 用一给定值取代所有元素 fill()
  用一给定值取代前n个元素 fill_n()
  生成 用一操作的结果取代所有元素 generate()
  用一操作的结果取代前n个元素 generate_n()
  删除 删除具有给定值的元素 remove()
  删除满足谓词的元素 remove_if()
  复制序列时删除具有给定值的元素 remove_copy()
  复制序列时删除满足谓词的元素 remove_copy_if()
  唯一 删除相邻的重复元素 unique()
  复制序列时删除相邻的重复元素 unique_copy()
  反转 反转元素的次序 reverse()
  复制序列时反转元素的次序 reverse_copy()
  环移 循环移动元素 rotate()
  复制序列时循环移动元素 rotate_copy()
  随机 采用均匀分布来随机移动元素 random_shuffle()
  划分 将满足某谓词的元素都放到前面 partition()
  将满足某谓词的元素都放到前面并维持原顺序 stable_partition()
    序列排序及相关操作(27个)
  排序 以很好的平均效率排序 sort()
  排序,并维持相同元素的原有顺序 stable_sort()
  将序列的前一部分排好序 partial_sort()
  复制的同时将序列的前一部分排好序 partial_sort_copy()
  第n个元素 将第n各元素放到它的正确位置 nth_element()
  二分检索 找到大于等于某值的第一次出现 lower_bound()
  找到大于某值的第一次出现 upper_bound()
  找到(在不破坏顺序的前提下)可插入给定值的最大范围 equal_range()
  在有序序列中确定给定元素是否存在 binary_search()
  归并 归并两个有序序列 merge()
  归并两个接续的有序序列 inplace_merge()
  有序结构上的集合操作 一序列为另一序列的子序列时为真 includes()
  构造两个集合的有序并集 set_union()
  构造两个集合的有序交集 set_intersection()
  构造两个集合的有序差集 set_difference()
  构造两个集合的有序对称差集(并-交) set_symmetric_difference()
  堆操作 向堆中加入元素 push_heap()
  从堆中弹出元素 pop_heap()
  从序列构造堆 make_heap()
  给堆排序 sort_heap()
  最大和最小 两个值中较小的 min()
  两个值中较大的 max()
  序列中的最小元素 min_element()
  序列中的最大元素 max_element()
  词典比较 两个序列按字典序的第一个在前 lexicographical_compare()
  排列生成器 按字典序的下一个排列 next_permutation()
  按字典序的前一个排列 prev_permutation()

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

4.#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()函数可以返回指向该元素的迭代器,但只能对其做读操作,任何试图修改键值的操作都是非法的。

5.#include
<iterator>是迭代器(Iterator)模式,又叫做游标(Cursor)模式

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

该头文件较为复杂,所以并不想深入了解。。。

6.#include <ctime>的功能是把日期和时间转换为字符串

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

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

得到时间差 difftime

设置时间 mktime

得到时间 time

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

得到字符串表示的时间 ctime

得到指定格式的时间 strftime

7.#include< local.h>

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

地区控制 地区设置 setlocale

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

注:本文主要是供本人编程参考使用,并非权威,文章编辑粗糙简陋,尚显不足。

更多参考请点击C/C++常用头文件汇总

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-03 23:32:00

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

linux网络编程常用头文件

sys/types.h:数据类型定义 sys/socket.h:提供socket函数及数据结构 netinet/in.h:定义数据结构sockaddr_in arpa/inet.h:提供IP地址转换函数 netdb.h:提供设置及获取域名的函数 sys/ioctl.h:提供对I/O控制的函数 sys/poll.h:提供socket等待测试机制的函数 其他在网络程序中常见的头文件 unistd.h:提供通用的文件.目录.程序及进程操作的函数 errno.h:提供错误号errno的定义,用于错误处理

C语言头文件中包含的函数

math.h常用函数 int  abs   (int x); double  acos  (double x); double  asin  (double x); double  atan  (double x); double  atan2 (double y, double x); double  atof  (const char *s); double  ceil  (double x); double  cos   (double x); double  cosh  (double

C/C++函数重复定义、头文件重复包含、互相包含问题

1.避免头文件重复包含 // test.h 此段宏的意思是如果定义了宏变量TEST_H_则不再定义它 #ifndef TEST_H_ #define TEST_H_ //头文件内容 #endif 或者 // test.h 告诉预编译器只包含一次 #pragma once 2.避免重复定义 不要将函数定义放置在头文件里面,正确的做法是头文件放置函数声明,源文件放置函数定义.因为源文件是分别编译的,假如头文件放置了函数定义,包含该头文件的每一个源文件都会定义相应的函数,从而导致重复定义.但是几种情况

google C++编程风格指南之头文件的包含顺序

google C++编程风格对头文件的包含顺序作出如下指示: (1)为了加强可读性和避免隐含依赖,应使用下面的顺序:C标准库.C++标准库.其它库的头文件.你自己工程的头文件.不过这里最先包含的是首选的头文件,即例如a.cpp文件中应该优先包含a.h.首选的头文件是为了减少隐藏依赖,同时确保头文件和实现文件是匹配的.具体的例子是:假如你有一个cc文件(linux平台的cpp文件后缀为cc)是google-awesome-project/src/foo/internal/fooserver.cc,

常用头文件及函数

C语言编译器安装的时候还附带了很多标准函数库.当程序使用库中函数的时候,需要在程序开头声明程序调用的库.格式为: #include<... .h> 常用头文件: stdio.h 数据输入/输出   stdlib.h 不知道该属于什么类别的常用函数 String.h 和字符串有关的函数   math.h 各类数学函数 time.h 极少用但会用到的和时间有关的函数 如果让我给一个建议的话,就是在某个程序里把所有能想到的头文件都写上,以后每次用到就复制粘贴. 常用的输入输出函数: 输入: getc

常用头文件和一些简单的函数

常用头文件和一些简单函数 #include <bits/stdc++.h> #include <cstdlib> #include <cstring> #include <cstdio> #include <cmath> #include <iostream> #include <algorithm> #include <string> #include <queue> #include <s

linux常用头文件及说明

linux常用头文件及说明 1. Linux中一些头文件的作用: <assert.h>:ANSI C.提供断言,assert(表达式)<glib.h>:GCC.GTK,GNOME的基础库,提供很多有用的函数,如有数据结构操作函数.使用glib只需要包含<glib.h><dirent.h>:GCC.文件夹操作函数.struct dirent,struct DIR,opendir(),closedir(),readdir(),readdir64()等 <c

linux设备驱动程序该添加哪些头文件以及驱动常用头文件介绍(转)

原文链接:http://blog.chinaunix.net/uid-22609852-id-3506475.html 驱动常用头文件介绍 #include <linux/***.h> 是在linux-2.6.29/include/linux下面寻找源文件.#include <asm/***.h> 是在linux-2.6.29/arch/arm/include/asm下面寻找源文件.#include <mach/***.h> 是在linux-2.6.29/arch/ar

Linux网络常用头文件说明

sys/types.h:数据类型定义 sys/socket.h:提供socket函数及数据结构 netinet/in.h:定义数据结构sockaddr_in arpa/inet.h:提供IP地址转换函数 netdb.h:提供设置及获取域名的函数 sys/ioctl.h:提供对I/O控制的函数 sys/poll.h:提供socket等待测试机制的函数 其他在网络程序中常见的头文件 unistd.h:提供通用的文件.目录.程序及进程操作的函数 errno.h:提供错误号errno的定义,用于错误处理