📄 stdlib.h
字号:
函数返回: 指向string的指针
参数说明: value-转换的长整形数,radix-数制(如10表示十进制)
所属文件: <stdlib.h>
#include <stdlib.h>
#include <stdio.h>
int main()
{
long number=12345;
char string[25];
itoa(number,string,10);
printf("integer=%d string=%s",number,string);
return 0;
}
@函数名称: itoa
函数原型: char *itoa(int value,char *string,int radix)
函数功能: 将整形数value转换为其等价的字符串
函数返回: 指向string的指针
参数说明: value-要转化的数值,radix-转换的进制,如10表示按十进制转换
所属文件: <stdlib.h>
#include <stdlib.h>
#include <stdio.h>
int main()
{
int number=123456L;
char string[25];
ltoa(number,string,10);
printf("integer=%ld string=%s",number,string);
return 0;
}
@函数名称: strtod
函数原型: double strtod(const char *s,char **endptr)
函数功能: 将浮点字符串转换成双精度格式数
函数返回: 双精度转换结果
参数说明: s-待转换的浮点字符串,endptr-转换后的尾数字符串
所属文件: <stdlib.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{
char input[80],*endptr;
double value;
printf("Enter a floating point number:");
gets(input);
value=strtod(input,&endptr);
printf("The string is %s the number is %lf",input,value);
return 0;
}
@函数名称: strtol
函数原型: long strtol(const char *s,char **endptr,int radix)
函数功能: 将数值字符串转换成长整形格式数
函数返回: 长整形转换结果
参数说明: s-待转换的浮点字符串,radix-转换的数制,endptr-转换后的尾数字符串
所属文件: <stdlib.h>
#include <stdlib.h>
#include <stdio.h>
int main()
{
char *string="87654321",*endptr;
long lnumber;
lnumber=strtol(string,&endptr,10);
printf("string=%s long=%ld",string,lnumber);
return 0;
}
@函数名称: swab
函数原型: void swab(char *from,char *to,int num)
函数功能: 交换字符串中的相邻的偶数字节和奇数字节的位置
函数返回:
参数说明: from-待变换的字符串,num转换字节数(必須偶),to-变换后的字符串
所属文件: <stdlib.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
char source[13]="IWy@seyk( )c";
char target[13];
int main()
{
swab(source,target,strlen(source));
printf("This is target: %s",target);
return 0;
}
@函数名称: lfind
函数原型: void *lfind(const void *key,const void *base,unsigned *num, unsigned width,int (*compare)(const void *element1,const void *element2));
函数功能: 在base指向的数组上进行线性搜索
函数返回: 返回指向找到元素的指针或空
参数说明: key-搜索对象,base-数组,num-元素个数,width-元素长度,compare-指向用户定义的用于比较元素的函数(相等返回0)
所属文件: <stdlib.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <search.h>
static const char *keywords[]={"auto","break","case","char", /* . */ "while"};
int main(int argc,const char *argv[])
{
unsigned num=5;
extern int compare(const void*,const void*);
if(argc<=1)exit(EXIT_FAILURE);
if(lfind(&argv[1],keywords,&num,sizeof(char**),compare)==NULL){
printf("'%s' is not a C keyword\n",argv[1]);
exit(EXIT_FAILURE);
}else{
printf("'%s' is a C keyword\n",argv[1]);
exit(EXIT_SUCCESS);
}
return 0;
}
int compare(const void *op1,const void *op2)
{
const char **p1=(const char**)op1;
const char **p2=(const char**)op2;
return(strcmp(*p1,*p2));
}
@函数名称: lsearch
函数原型: void *lsearch(const void *key,void *base,unsigned *num, unsigned width,int (*compare)(const void *element1,const void *element2));
函数功能: 在base指向数组上进行搜索,如不存在则将key添加到数组结尾
函数返回: 返回指针,指向找到或添加的元素
参数说明: key-搜索对象,base-数组,num-元素个数,width-元素长度,compare-指向用户定义函数
所属文件: <stdlib.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <search.h>
int main(int argc,const char *argv[])
{
int i;
unsigned num=0;
char **array=(char**)calloc(argc,sizeof(char**));
extern int compare(const void*,const void*);
for(i=1;i<argc;++i){
lsearch(&argv[i],array,&num,sizeof(char**),compare);
}
for(i=0;i<num;++i){
printf("%s\n",array[i]);
}
return 0;
}
int compare(const void *op1,const void *op2)
{
const char **p1=(const char **)op1;
const char **p2=(const char **)op2;
return(strcmp(*p1,*p2));
}
@函数名称: qsort
函数原型: void qsort(void *base,size_t num,size_t width,int (*fcmp)(const void *,const void *)
函数功能: 使用快速排序法对数组base进行排序
函数返回:
参数说明: base-待排序数组,num-数组元素个数,width-每个元素大小,fcmp-用于对数组元素进行比较的函数指针,该函数另外编写,有2个参数.
所属文件: <stdlib.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int sort_function( const void *a,const void *b);
char list[5][4]={"cat","car","cab","cap","can"};
int main()
{
int x;
qsort((void *)list,5,sizeof(list[0]),sort_function);
for (x=0; x < 5; x++)
printf("%s",list[x]);
return 0;
}
int sort_function( const void *a,const void *b)
{
return( strcmp(a,b) );
}
@函数名称: bsearch
函数原型: int *bsearch(cost void *key,const void *base,size_t n,size_t size,int(*cmp)(const void*,const void*));
函数功能: 二分法检索
函数返回:
参数说明: bsearch将在数组base(该数组到少有n个指定大小的元素)中检索key所引用的对象.依据比较函数cmp(cmp函数会返回一个整数,根据key所引用的对象是否小于,等于或者大于数组元素,返回的这个整数将大于,等于或小于0),该数组必须按升序排列.如果bsearch发现了一个匹配对象,则返回该对象所在的数组的地址;否则函数返回空指针
所属文件: #include<stdlib.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
static const char *keywords[]={"auto","break","case", "char","/* . */","while"};
#define NUM_KW sizeof(keywords)/sizeof(char*)
int kw_compare(const void *p1, const void *p2)
{
const char *p1c=(const char*)p1;
const char **p2c=(const char**)p2;
return(strcmp(p1c,*p2c));
}
int keyword_lookup(const char *name)
{
const char **key;
key=(char const **)bsearch(name,keywords,NUM_KW,sizeof(char*),kw_compare);
if(key==NULL)return(-1);
return key-keywords;
}
int main()
{
printf("%d\n",keyword_lookup("case"));
printf("%d\n",keyword_lookup("yesky"));
printf("%d\n",keyword_lookup("auto"));
return 0;
}
@函数名称: div
函数原型: div_t div(int num,int denom)
函数功能: 整除
函数返回: 返回一个值,类型为
typedef struct div_t{
int quot;
int rem;
}div_t;
参数说明: 该返回值包括num除以denom所得的商及余数
所属文件: <stdlib.h>
#include <stdio.h>
#include <stdlib.h>
int print_time(int seconds)
{
div_t min_sec;
min_sec=div(seconds,60);
printf("It took %d minutes and %d seconds\n",min_sec.quot, min_sec.rem);
}
int main()
{
print_time(130);
return 0;
}
@函数名称: ldiv
函数原型: ldiv_t ldiv(long numer,long denom)
函数功能: 计算numer/denom的商和余数
函数返回: 商和余数的格式如下:
typedef struct{
long x;/*商值*/
long y;/*余数值*/
}ldiv_t;
参数说明:
所属文件: <stdlib.h>
#include <stdlib.h>
#include <stdio.h>
int main()
{
ldiv_t lx;
lx=ldiv(100000L,30000L);
printf("100000 div 30000=%ld remainder %ld",lx.quot,lx.rem);
return 0;
}
@函数名称: random
函数原型: int random(int num)
函数功能: 得到一个在0和参数num之间的随机数
函数返回: 一个在0和参数num之间的随机数
参数说明: num-最大的随机数取值
所属文件: <stdlib.h>
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
int main()
{
randomize();
printf("Random number in the 0-99 range: %d",random (100));
return 0;
}
@函数名称: randomize
函数原型: int randomize(void)
函数功能: 初始化随机数发生器
函数返回: 一个随机数
参数说明:
所属文件: <stdlib.h>,<time.h>
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
int main()
{
int i;
randomize();
printf("Ten random numbers from 0 to 99");
for(i=0;i<10;i++)
printf("%d",rand()%100);
return 0;
}
@函数名称: srand
函数原型: void srand(unsigned seed)
函数功能: 该函数和rand函数配合使用,产生随机数的起始发生数据
函数返回:
参数说明: seed-任意数值
所属文件: <stdlib.h>
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
int main()
{
int i;
time_t t;
srand((unsigned) time(&t));
printf("Ten random numbers from 0 to 99");
for(i=0;i<10;i++)
printf("%d",rand()%100);
return 0;
}
@函数名称: system
函数原型: int system(const char *command)
函数功能: 调用DOS命令
函数返回:
参数说明:
所属文件: <stdlib.h>
#include <stdlib.h>
#include <stdio.h>
int main()
{
system("dir");
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -