c语言实用功能库函数#include<stdlib.h>
实用函数<stdlib.h>
在头文件<stdlib.h>中说明了用于数值转换、内存分配以及具有其他相似任务的函数。
1 atof
#include <stdlib.h>
double atof(const char *str);
把字符串str转换成double类型。等价于:strtod(str, (char**)NULL)。
2 atoi
#include <stdlib.h>
int atoi(const char *str);
把字符串str转换成int类型。等价于:(int)strtol(str, (char**)NULL, 10)。
3 atol
#include <stdlib.h>
long atol(const char *str);
把字符串str转换成long类型。等价于:strtol(str, (char**)NULL, 10)。
4 strtod
#include <stdlib.h>
double strtod(const char *start, char **end);
把字符串start的前缀转换成double类型。在转换中跳过start的前导空白符,然后逐个读入构成数的字符,任何非浮点数成分的字符都会终止上述过程。如果end不为NULL,则把未转换部分的指针保存在*end中。
如果结果上溢,返回带有适当符号的HUGE_VAL,如果结果下溢,那么函数返回0。在这两种情况下,errno均被置为ERANGE。
5 strtol
#include <stdlib.h>
long int strtol(const char *start, char **end, int radix);
把字符串start的前缀转换成long类型,在转换中跳过start的前导空白符。如果end不为NULL,则把未转换部分的指针保存在*end中。
如果radix的值在2到36间之间,那么转换按该基数进行;如果radix为0,则基数为八进制、十进制、十六进制,以0为前导的是八进制,以0x或0X为前导的是十六进制。无论在哪种情况下,串中的字母是表示10到radix-1之间数字的字母。如果radix是16,可以加上前导0x或0X。
如果结果上溢,则依据结果的符号返回LONG_MAX或LONG_MIN,置errno为ERANGE。
6 strtoul
#include <stdlib.h>
unsigned long int strtoul(const char *start, char **end, int radix);
与strtol()类似,只是结果为unsigned long类型,溢出时值为ULONG_MAX。
7 rand
#include <stdlib.h>
int rand(void);
产生一个0到RAND_MAX之间的伪随机整数。RAND_MAX值至少为32767。
8 srand
#include <stdlib.h>
void srand(unsigned int seed);
设置新的伪随机数序列的种子为seed。种子的初值为1。
9 calloc
#include <stdlib.h>
void *calloc(size_t num, size_t size);
为num个大小为size的对象组成的数组分配足够的内存,并返回指向所分配区域的第一个字节的指针;如果内存不足以满足要求,则返回NULL。
分配的内存区域中的所有位被初始化为0。
10 malloc
#include <stdlib.h>
void *malloc(size_t size);
为大小为size的对象分配足够的内存,并返回指向所分配区域的第一个字节的指针;如果内存不足以满足要求,则返回NULL。
不对分配的内存区域进行初始化。
11 realloc
#include <stdlib.h>
void *realloc(void *ptr, size_t size);
将ptr指向的内存区域的大小改为size个字节。如果新分配的内存比原内存大,那么原内存的内容保持不变,增加的空间不进行初始化。如果新分配的内存比原内存小,那么新内存保持原内存区中前size字节的内容。函数返回指向新分配空间的指针。如果不能满足要求,则返回NULL,原ptr指向的内存区域保持不变。
如果ptr为NULL,则行为等价于malloc(size)。
如果size为0,则行为等价于free(ptr)。
12 free
#include <stdlib.h>
void free(void *ptr);
释放ptr指向的内存空间,若ptr为NULL,则什么也不做。ptr必须指向先前用动态分配函数malloc、realloc或calloc分配的空间。
13 abort
#include <stdlib.h>
void abort(void);
使程序非正常终止。其功能类似于raise(SIGABRT)。
14 exit
#include <stdlib.h>
void exit(int status);
使程序正常终止。atexit函数以与注册相反的顺序被调用,所有打开的文件被刷新,所有打开的流被关闭。status的值如何被返回依具体的实现而定,但用0表示正常终止,也可用值EXIT_SUCCESS和EXIT_FAILURE。
15 atexit
#include <stdlib.h>
int atexit(void (*func)(void));
注册在程序正常终止时所要调用的函数func。如果成功注册,则函数返回0值,否则返回非0值。
16 system
#include <stdlib.h>
int system(const char *str);
把字符串str传送给执行环境。如果str为NULL,那么在存在命令处理程序时,返回0值。如果str的值非NULL,则返回值与具体的实现有关。
17 getenv
#include <stdlib.h>
char *getenv(const char *name);
返回与name相关的环境字符串。如果该字符串不存在,则返回NULL。其细节与具体的实现有关。
18 bsearch
#include <stdlib.h>
void *bsearch(const void *key, const void *base, size_t n, size_t size, int (*compare)(const void *, const void *));
在base[0]...base[n-1]之间查找与*key匹配的项。size指出每个元素占有的字节数。函数返回一个指向匹配项的指针,若不存在匹配则返回NULL。
函数指针compare指向的函数把关键字key和数组元素比较,比较函数的形式为:
int func_name(const void *arg1, const void *arg2);
arg1是key指针,arg2是数组元素指针。
返回值必须如下:
- arg1 < arg2时,返回值<0;
- arg1 == arg2时,返回值==0;
- arg1 > arg2时,返回值>0。
数组base必须按升序排列(与compare函数定义的大小次序一致)。
19 qsort
#include <stdlib.h>
void qsort(void *base, size_t n, size_t size, int (*compare)(const void *, const void *));
对由n个大小为size的对象构成的数组base进行升序排序。
比较函数compare的形式如下:
int func_name(const void *arg1, const voie *arg2);
其返回值必须如下所示:
- • arg1 < arg2,返回值<0;
- • arg1 == arg2,返回值==0;
- • arg1 > arg2,返回值>0。
20 abs
#include <stdlib.h>
int abs(int num);
返回int变量num的绝对值。
21 labs
#include <stdlib.h>
long labs(long int num);
返回long类型变量num的绝对值。
22 div
#include <stdlib.h>
div_t div(int numerator, int denominator);
返回numerator/denominator的商和余数,结果分别保存在结构类型div_t的两个int成员quot和rem中。
23 ldiv
#include <stdlib.h>
ldiv_t div(long int numerator, long int denominator);
返回numerator/denominator的商和余数,结果分别保存在结构类型ldiv_t的两个long成员quot和rem中。
c语言实用功能库函数#include<stdlib.h>的更多相关文章
- C语言头文件#include<stdlib.h>的作用
stdlib 头文件即standard library标准库头文件 stdlib 头文件里包含了C.C++语言的最常用的系统函数 该文件包含了的C语言标准库函数的定义 stdlib.h里面定义了五 ...
- c语言字符串库函数#include<string.h>
字符串函数<string.h> 在头文件<string.h>中定义了两组字符串函数.第一组函数的名字以str开头:第二组函数的名字以mem开头.只有函数memmove对重叠对象 ...
- c语言时间库函数#include<time.h>
日期与时间函数<time.h> 头文件<time.h>中说明了一些用于处理日期和时间的类型和函数.其中的一部分函数用于处理当地时间,因为时区等原因,当地时间与日历时间可能不相同 ...
- #include <stdlib.h>
1 _itoa 2 atoi 3 rand() 4 srand 1 _itoa _itoa(int value,char*string,int radix); int value 被转换的整数,cha ...
- c语言字符类别测试库函数#include<ctype.h>
字符类测试<ctype.h> 头文件<ctype.h>中说明了一些用于测试字符的函数.每个函数的变量均为int类型,变量的值必须是EOF或可用unsigned char类型表示 ...
- c语言输入与输出库函数#include<stdio.h>
last modified: 2010-05-28 输入与输出<stdio.h> 头文件<stdio.h>定义了用于输入和输出的函数.类型和宏.最重要的类型是用于声明文件指针的 ...
- c语言诊断_断言库函数#include<assert.h>
诊断<assert.h> assert #include <assert.h> void assert(int exp); assert宏用于为程序增加诊断功能.当asser ...
- stdlib.h 头文件
stdlib 头文件即standard library标准库头文件.stdlib.h里面定义了五种类型.一些宏和通用工具函数. 类型例如size_t.wchar_t.div_t.ldiv_t和lldi ...
- C语言常用库函数
一.数学函数 调用数学函数时,要求在源文件中包下以下命令行: #include <math.h> 函数原型说明 功能 返回值 说明 int abs( int x) 求整数x的绝对值 计算结 ...
随机推荐
- KMP(匹配)
Description 一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案.对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢? Input 输入中含有一些数据, ...
- MFC GDI相关对象
首先说明几个名词: CDC 是MFC对Wind32 API的设备上下文(DC)进行封装的C++类,由他继承的类包括 CPaintDC(常用)CWindowDC(现在软件基本不用) CClientDC( ...
- Linux查找软件的安装路径
软件安装的路径可能不止一个,可以使用whereis命令查看软件安装的所有路径,以mysql为例: whereis mysql 该命令会返回软件的所有安装路径: mysql: /usr/bin/mysq ...
- Java Web开发之详解JSP
JSP作为Java Web开发中比较重要的技术,一般当作视图(View)的技术所使用,即用来展现页面.Servlet由于其本身不适合作为表现层技术,所以一般被当作控制器(Controller)所使用, ...
- js 数字,金额 用逗号 隔开。数字格式化
例如: 12345格式化为12,345.00 12345.6格式化为12,345.60 12345.67格式化为 12,345.67 只留两位小数. 回来后写了个格式化函数.可以控制小数位数,自动四舍 ...
- Cassandra1.2文档学习(10)—— 插入和更新数据
参考数据:http://www.datastax.com/documentation/cassandra/1.2/webhelp/index.html#cassandra/dml/dml_about_ ...
- 2015版App推广全攻略(完整版)
线上渠道 1.基础上线 各大手机厂商市场.第三方应用商店.大平台.PC下载站.手机WAP站.收录站.移动互联网应用推荐媒体等等基本可以覆盖Android版本发布渠 道:推广的第一步是要上线,这是最基础 ...
- 编写jQuery插件--实现返回顶部插件
国庆过去一周多了,作为IT界的具有严重’工作狂‘性质的宅人,居然还没走出玩耍的心情,拖了程序猿的脚后跟了.最近工作不顺,心情不佳,想吐槽下公司,想了还是厚道点,以彼之道还施彼身,觉得自己也和他们同流合 ...
- Oracle 分析函数 "ORA-30485: 在窗口说明中丢失 ORDER BY 表达式"
跟顺序有关的几个分析函数row_number.rank.dense_rank.lead和lag的over窗口里,都必须有order_by_clause.其他几个如:first_value.last_v ...
- sencha touch json store
js: Ext.define('MyApp.store.MyJsonStore', { extend: 'Ext.data.Store', requires: [ 'MyApp.model.Perso ...