c++常用的一些库函数、常量和头文件
1、常用数学函数
头文件 #include <math> 或者 #include <math.h>
函数原型 |
功能 |
返回值 |
int abs(int x) |
求整数x的绝对值 |
绝对值 |
double acos(double x) |
计算arcos(x)的值 |
计算结果 |
double asin(double x) |
计算arsin(x)的值 |
计算结果 |
double atan(double x) |
计算arctan(x)的值 |
计算结果 |
double cos(double x) |
计算cos(x)的值 |
计算结果 |
double cosh(double x) |
计算x的双曲余弦cosh(x)的值 |
计算结果 |
double exp(double x) |
求 的值 |
计算结果 |
double fabs(double x) |
求实数x的绝对值 |
绝对值 |
double fmod(double x) |
求x/y的余数 |
余数的双精度数 |
long labs(long x) |
求长整型数的绝对值 |
绝对值 |
double log(double x) |
计算In(x)的值 |
计算结果 |
double log10(double x) |
计算 的值 |
计算结果 |
double modf(double x, double *y) |
取x的整数部分送到y所指向的单元格中 |
x的小树部分 |
double pow(double x, double y) |
求x的y次方的值 |
计算结果 |
double sin(double x) |
计算sin(x)的值 |
计算结果 |
double sqrt(double x) |
求 的值 |
计算结果 |
double tan(double x) |
计算tan(x)的值 |
计算结果 |
fcvt |
将浮点型数转化为字符串 |
2. 字符串函数(<string.h>)
字符串函数
所有字符串函数列在下表里,函数描述采用如下约定:s、t表示 (char *)类型的参数,cs、ct表示(const char*)类型的参数(它们都应表示字符串)。n表示size_t类型的参数(size_t是一个无符号的整数类型),c是整型参数(在函数里转换到 char):
函数原型 |
意义解释 |
size_t strlen(cs) |
求出cs的长度(不包含‘\0’),如strlen(chai)=4 |
char *strcpy(s,ct) |
把ct复制到s。要求s指定足够大的字符数组 |
char *strncpy(s,ct,n) |
把ct里的至多n个字符复制到s。要求s指定一个足够大的字符数组。如果ct里的字符不够n个,就在s里填充空字符。 |
char *strcat(s,ct) |
把ct里的字符复制到s里已有的字符串之后。s应指定一个保存着字符串,而且足够大的字符数组。 |
char *strncat(s,ct,n) |
把ct里的至多n个字符复制到s里已有的字符串之后。s应指定一个保存着字符串,而且足够大的字符数组。 |
int strcmp(cs,ct) |
比较字符串cs和ct的大小,在cs大于、等于、小于ct时分别返回正值、0、负值。 |
int strncmp(cs,ct,n) |
比较字符串cs和ct的大小,至多比较n个字符。在cs大于、等于、小于ct时分别返回正值、0、负值。 |
char *strchr(cs,c) |
在cs中查寻c并返回c第一个出现的位置,用指向这个位置的指针表示。当cs里没有c时返回值NULL |
char *strrchr(cs,c) |
在cs中查寻c并返回c最后一个出现的位置,没有时返回NULL |
size_t strspn(cs,ct) |
由cs起确定一段全由ct里的字符组成的序列,返回其长度 |
size_t strcspn(cs,ct) |
由cs起确定一段全由非ct里的字符组成的序列,返回其长度 |
char *strpbrk(cs,ct) |
在cs里查寻ct里的字符,返回第一个满足条件的字符出现的位置,没有时返回NULL |
char *strstr(cs,ct) |
在cs中查寻串ct(查询子串),返回ct作为cs的子串的第一个出现的位置,ct未出现在cs里时返回NULL |
char *strerror(n) |
返回与错误编号n相关的错误信息串(指向该错误信息串的指针) |
char *strtok(s,ct) |
在s中查寻由ct中的字符作为分隔符而形成的单词 |
存储区操作
<string.h>还有一组字符数组操作函数(存储区操作函数),名字都以mem开头,以某种高效方式实 现。在下面原型中,参数s和t的类型是(void *),cs和ct的类型是(const void *),n的类型是size_t,c的类型是int(转换为unsigned char)。
函数原型 |
意义解释 |
void *memcpy(s,ct,n) |
从ct处复制n个字符到s处,返回s |
void *memmove(s,ct,n) |
从ct处复制n个字符到s处,返回s,这里的两个段允许重叠 |
int memcmp(cs,ct,n) |
比较由cs和ct开始的n个字符,返回值定义同strcmp |
void *memchr(cs,c,n) |
在n个字符的范围内查寻c在cs中的第一次出现,如果找到,返回该位置的指针值,否则返回NULL |
void *memset(s,c,n) |
将s的前n个字符设置为c,返回s |
3. 头文件 #include <stdlib>或者#include <stdlib.h>
函数原型 |
功能 |
返回值 |
说明 |
void abort(void) |
终止程序执行 |
不能结束工作 |
|
void exit(int) |
终止程序执行 |
做结束工作 |
|
double atof(const char *s) |
将s所指向的字符串转换成实数 |
实数值 |
|
int atoi(const char *s) |
将s所指向的字符串转换成整数 |
整数值 |
|
long atol(const char *s) |
将s所指的字符串转换成长整数 |
长整数值 |
|
int rand(void) |
产生一个随机整数 |
随机整数 |
|
void srand(unsigned int) |
初始化随机数产生器 |
||
int system(const char *s) |
将s所指向的字符串作为一个可执行文件,并加以执行 |
4.头文件<algorithm>
max(a, b) |
求两个数中的大数 |
大数 |
参数为任意类型 |
min(a,b) |
求两个数中的小数 |
小数 |
参数为任意类型 |
4. 头文件<climits>或<limits.h>
name | expresses | min. magnitude* |
---|---|---|
CHAR_BIT | Number of bits for a char object (byte) | 8 |
SCHAR_MIN | Minimum value for an object of type signed char | -127 |
SCHAR_MAX | Maximum value for an object of type signed char | 127 |
UCHAR_MAX | Maximum value for an object of type unsigned char | 255 |
CHAR_MIN | Minimum value for an object of type char | either SCHAR_MIN or 0 |
CHAR_MAX | Maximum value for an object of type char | either SCHAR_MAX or UCHAR_MAX |
MB_LEN_MAX | Maximum number of bytes in a multibyte character, for any locale | 1 |
SHRT_MIN | Minimum value for an object of type short int | -32767 |
SHRT_MAX | Maximum value for an object of type short int | 32767 |
USHRT_MAX | Maximum value for an object of type unsigned short int | 65535 |
INT_MIN | Minimum value for an object of type int | -32767 |
INT_MAX | Maximum value for an object of type int | 32767 |
UINT_MAX | Maximum value for an object of type unsigned short int | 65535 |
LONG_MIN | Minimum value for an object of type long int | -2147483647 |
LONG_MAX | Maximum value for an object of type long int | 2147483647 |
ULONG_MAX | Maximum value for an object of type unsigned int | 4294967295 |
c++常用的一些库函数、常量和头文件的更多相关文章
- C++编程规范之23:头文件应该自给自足
摘要: 各司其责:应该确保所编写的每个头文件都能够独自进行编译,为此需要包含其内容所依赖的所有头文件. 如果一个文件包含某个头文件时,还要包含另一个头文件才能工作,就会增加交流障碍,给头文件的用户增添 ...
- [C++]头文件<algorithm>
本博文仅示例一些常用的函数: sort.for_each. 1. sort /* STL - <algorithm> - sort template< class RandomIt, ...
- linux编程头文件所在路径的问题
一.问题引入 1.头文件与库 当我们在PC主机linux环境下(如ubuntu),编写linux应用程序,然后利用gcc来编译.在源代码的开始位置会写入头文件,那是因为我们使用了系统提供的库函数,例如 ...
- Linux下的头文件搜索路径
对于以压缩包发布的软件,在它的目录下通常都有一个配置脚本configure,它的作用确定编译参数(比如头文件位置.连接库位置等),然后生成Makefile以编译程序.可以进入该软件的目录,执 ...
- C语言常用的库文件(头文件、函数库)
C语言常用的库文件(头文件.函数库) C系统提供了丰富的系统文件,称为库文件.C的库文件分为两类,一类是扩展名为".h"的文件,称为头文件,在前面的包含命令中我们已多次使用过.在& ...
- 小猪猪逆袭成博士之C++基础篇(二) 常量、处理类型、自定义头文件
小猪猪逆袭成博士之C++基础篇(二) const .auto. decltype 上一章我们介绍了一些常用的类型和常见的问题,下面再介绍一些学习的时候不是特别常用但是在实际工程中很有用的一些东西. 一 ...
- C++常用的#include头文件总结
C++常用的#include头文件总结 这篇文章主要介绍了C++常用的#include头文件,对初学者理解C++程序设计大有好处的相关资料 本文详细罗列了C++所包含的头文件的名称及作用说明,比较 ...
- linux设备驱动程序该添加哪些头文件以及驱动常用头文件介绍(转)
原文链接:http://blog.chinaunix.net/uid-22609852-id-3506475.html 驱动常用头文件介绍 #include <linux/***.h> 是 ...
- C/C++常用头文件及函数汇总
转自: C/C++常用头文件及函数汇总 C/C++头文件一览 C #include <assert.h> //设定插入点#include <ctype.h> //字符处理#in ...
随机推荐
- C++STL库之set的用法
/*set意为集合,是一个内部自动排序不含重复元素的容器*/#include<stdio.h>#include<set>using namespace std;int main ...
- tyvj 1057 dp 变形背包
P1057 金明的预算方案 时间: 1000ms / 空间: 131072KiB / Java类名: Main 背景 NOIP2006 提高组 第二道 描述 金明今天很开心,家里购置的新房就要领钥匙了 ...
- PCL Nodelets 和 3D 点云---36
原创博客:转载请标明出处:http://www.cnblogs.com/zxouxuewei/ 1.首先确保你的kinect驱动或者uvc相机驱动能正常启动,如果你没有安装kinect深度相机驱动,请 ...
- 越狱Season 1-Episode 4: Cute Poison
Season 1, Episode 4: Cute Poison [Previously on Prison Break] previously: 以前地 前情提要 -Burrows: I didn' ...
- ubuntu下nfs服务器的安装与配置
nfs服务器的安装和配置 1.安装nfs 服务器,前提是你的系统能连上网. 2.设置/etc/exports配置文件 (1) 进入/etc/exports配置文件 (2) 在最后一行加入红色那行,/h ...
- Instructions函数对照表:02 xmmintrin.h与SSE指令集[转]
更多详情见——http://www.cnblogs.com/zyl910/archive/2012/04/26/md00.htmlSIMD函数整理:00 索引贴 R:寄存器.M:64位MM寄存器:X: ...
- HTTPS-使用Fiddler抓取HTTPS数据包原理
最近想尝试基于Fiddler的录制功能做一些接口的获取和处理工作,碰到的一个问题就是简单连接Fiddler只能抓取HTTP协议,关键的登录请求等HTTPS协议都没有捕捉到,所以想让Fiddler能够同 ...
- max_input_vars 的影响
一同事,让帮忙解决问题:post了1020条数据,结果只显示250条. 判断可能是php的post设置问题,结果发现php.ini里关于post的设置没有问题. 通过 php://input 得到请求 ...
- UDP/TCP通信小记
TCP 和UDP的区别 TCP是面向连接的; 所谓连接 就是 打开的时候要握手,收发数据的时候要确认(传说中的窗口协议保持滑动过去的窗口都已成功发送,接收方已经成功接收). UDP是无连接的. 所 ...
- C#中的static、readonly与const的比较
C#中有两种常量类型,分别为readonly(运行时常量)与const(编译时常量),本文将就这两种类型的不同特性进行比较并说明各自的适用场景. 工作原理 readonly为运行时常量,程序运 ...