常用C语言标准库函数Word文档下载推荐.docx
《常用C语言标准库函数Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《常用C语言标准库函数Word文档下载推荐.docx(28页珍藏版)》请在冰点文库上搜索。
![常用C语言标准库函数Word文档下载推荐.docx](https://file1.bingdoc.com/fileroot1/2023-5/6/855f0584-993c-419c-8ead-049366856d42/855f0584-993c-419c-8ead-049366856d421.gif)
测试参数c是否为大写字母:
Isxdigit
intisxdigit(intc)
测试参数c是否为十六进制数:
2.数学函数
abs
intabs(inti)
返回整数型参数i的绝对值
stdlib.h,math.h
acos
doubleacos(doublex)
返回双精度参数x的反余弦三角函数值
math.h
asin
doubleasin(doublex)
返回双精度参数x的反正弦三角函数值
atan
doubleatan(doublex)
返回双精度参数的反正切三角函数值
atan2
doubleatan2(doubley,doublex)
返回双精度参数y和x由式y/x所计算的反正切三角函数值
cabs
doublecabs(structcomplexznum)
返回一个双精度数,为计算出复数znum的绝对值。
Complex的结构模式在math.h中给出定义,其定义如下:
structcomplex{
doublea,y
};
头文件:
ceil
doubleceil(doublex)
返回不小于参数x的最小整数
_clear87
unsignedint_clear87(void)
清除浮点运算器状态字
float.h
_control87
unsignedint_control87(unsignedintnewvals,unsignedintmask)
取得或改变浮点运算器控制字
cos
doublecos(doublex)
功能:
返回参数x的余弦函数值
cosh
doublecosh(doublex)
返回参数的双曲线余弦函数值
ecvt
char*ecvt(doublevalue,intndigit,int*decpt,int*sign)
把双精度数value转换为ndigit位数字的以空格字符结束的字符串,decpt指向小数点位置,sign为符号标志。
函数返回值为指向转换后的字符串的指针
stdlib.h
exp
doubleexp(doublex)
返回参数x的指数函数值
fabs
doublefabs(doublex)
返回参数x的绝对值
floor
doublefloor(doublex)
返回不大于参数x的最大整数
头文件:
fmod
doublefmod(doublex,doubley)
计算x/y的余数。
返回值为所求的余数值
_fprest
void_fprest(void)
重新初始化浮点型数数学包
frexp
doublefrexp(doublevalue,int*eptr)
把双精度函数value分解成尾数和指数。
函数返回尾数值,指数值存放在eptr所指的单元中
hypot
doublefrexp(doublex,doubley)
返回由参数x和y所计算的直角三角形的斜边长
labs
longlabs(longn)
返回长整数型参数n的绝对值
ldexp
doubleldexp(doublevalue,intexp)
返回value*2exp的值
log
doublelog(doublex)
返回参数x的自然对数(lnx)的值
log10
doublelog10(doublex)
返回参数x以10为底的自然对数(lgx)的值
modf
doublemodf(doublevalue,double*iptr)
把双精度数value分为整数部分和小数部分。
整数部分保存在iptr中,小数部分作为函数的返回值
poly
原型
:
doublepoly(doublex,intn,doublec[])
根据参数产生x的一个n次多项式,其系数为c[0],c[1],…c[n]。
函数返回值为给定x的多项式的值
pow
doublepow(doublex,doubley)
返回计算xy的值
pow10
doublepow10(intp)
返回计算10p的值
rand
intrand(void)
随机函数,返回一个范围在0~215-1的随机整数
sin
doublesin(doublex)
返回参数x的正弦函数值
sinh
原型doublesinh(doublex)
返回参数x的双曲正弦函数值
sqrt
doublesqrt
返回参数x的平方根值
srand
voidsrand(unsignedseed)
初始化随机函数发生器
_status87
unsignedint_status87()
取浮点状态
tan
dounletan(doublex)
返回参数x的正切函数值
tanh
doubletan(doublex)
返回参数x的双曲正切函数值
3.转换函数
atof
doubleatof(char*nptr)
返回一双精度型数,由其nptr所指字符串转换而成
math.h,stdlib.h
atoi
intatoi(char*nptr)
返回一整数,其由nptr所指字符串转换而成
atol
longatol(char*nptr)
返回一长整型数,其由nptr所指字符串转换而成
fcvt
char*fcvt(doublevalue,intndigit,int*decpt,int*sign)
fcvt与ecvt相似,将浮点型数转换成FORTRANF格式的字符串)
gcvt
char*gvct(doublevalue,intndigit,char*buf)
把value转换为以空字符结尾、长度为ndigit的串,结果放在buf中,返回所得串的指针
itoa
char*gcvt(doublevalue,char*string,intradix)
把一个整形数value转换为字符串。
即将value转换为以‘\o’结尾的串。
结果存在string中,radix为转换中数的基数,函数返回值为指向字符串string的指针
strtod
doublestrtod(char*str,char**endptr)
把字符串str转化为双精度数。
endptr不为空,则其为指向终止扫描的字符的指针。
函数返回值为双精度数
string.h
strtol
longstrtol(char*str,char*endptr,intbase)
把字符串xtr转换为长整形数。
endptr不为空,则其为指向终止扫描的字符指针。
函数返回值为长整形数。
参数base为要转换整数的基数
ultoa
char*ultoa(unsignedlongvalue,char*string,intradix)
转换一个无符号长整型数value为字符串。
即value转换为以‘\o’结尾的字符串,结果保存在string中1,radix为转换中数的基数,返回值为指向串string的指针
4.串和内存操作函数
memccpy
void*memccpy(void*destin,void*soure,unsignedcharch,unsignden)
从源source中复制n个字节到目标destin中。
复制直至第一次遇到ch中的字符为止(ch被复制)。
函数返回值为指向destin中紧跟ch后面字符的地址或为NULL
string.h,mem.h
memchr
void*memchr(void*s,charch,unsignedn)
在数组x的前n个字节中搜索字符ch。
返回值为指向s中首次出现ch的指针位置。
如果ch没有在s数组中出现。
返回NULL
memcmp
void*mencmp(void*s1,void*s2,unsignedn)
比较两个字符串s1和s2的前n个字符,把字节看成是无符号字符型。
如果s1<
s2,返回负值;
如果s1=s2,返回零;
否则s1>
s2,返回正值
memcpy
void*memcpy(void*destin,void*source,unsignedn)
string.h,men.h
memicmp
int*memicmp(void*s1,void*s2,unsignedn)
比较两个串s1和s2的前n个字节,大小写字母同等看待。
如果s1>
memmove
void*memmove(void*destin,void*source,unsignedn)
返回一个指向destin的指针
memset
void*memset(void*s,charch,unsignedn)
设置s中的前n个字节为ch中的值(字符)。
返回一个指向s的指针
setmem
voidsetmem(void*addr,intlen,charvalue)
将len个字节的value值保存到存储区addr中
mem.h
strcat
char*strcat(char*destin,constchar*source)
把串source复制连接到串destin后面(串合并)。
返回值为指向destin的指针
strchr
char*strchr(char*str,charc)
查找串str中某给定字符(c中的值)第一次出现的位置:
返回值为NULL时表示没有找到
strcmp
intstrcmp(char*str1,char*str2)
把串str1与另一个串str2进行比较。
当两字符串相等时,函数返回0;
str1<
str2返回负值;
str1>
str2返回正值
strcpy
int*strcpy(char*str1,char*str2)
把str2串复制到str1串变量中。
函数返回指向str1的指针
strcspn
intstrcspn(char*str1,*str2)
查找str1串中第一个出现在串str2中的字符的位置。
函数返回该指针位置
strdup
char*strdup(char*str)
分配存储空间,并将串str复制到该空间。
返回值为指向该复制串的指针
stricmp
intstricmp(chat*str1,char*str2)
将串str1与另一个串str2进行比较,不分字母大小写。
返回值同strcmp
strlen
unsignedstrlen(char*str)
计算str串的长度。
函数返回串长度值
strlwr
char*strlwr(char*str)
转换str串中的大写字母为小写字母
strncat
char*strncat(char*destin,char*source,intmaxlen)
把串source中的最多maxlen个字节加到串destin之后(合并)。
函数返回指向已连接的串destin的指针
strncmp
intstrncmp(char*str1,char*str2,intmaxlen)
把串str1与串str2的头maxlen个字节进行比较。
返回值同strcmp函数
strnset
char*strnset(char*str,charch,unsignedn)
将串str中的前n个字节设置为一给定字符(中的值)
strpbrk
char*strpbrk(char*str1,char*str2)
查找给定字符串str1中的字符在字符串str2中第一次出出现的位置,返回位置指针。
若未查到,则返回NULL
strrchr
char*strrcgr(char*str,charc)
吵着给定字符(c的值)在串str中的最后一次出现的位置。
返回指向该位置的指针,若为查到,则返回NULL
strrev
char*strrev(char*str)
颠倒串str的顺序。
函数返回颠倒顺序的串的指针
strset
char*strset(char*str,charc)
把串中所有字节设置为给定字符(c的值)。
函数返回串的指针
strspn
intstrspn(char*str1,char*str2)
在串str1中找出第一次出现str2的位置。
函数返回str2在str1中的位置数
strstr
char*strstr(char*str1,char*str2)
查找串str2在串str1中首次出现的位置。
返回指向该位置的指针。
找不到匹配则返回空指针
strtok
char*strtok(char*str1,char*str2)
把串str1中的单词用str2所给出的一个或多个字符所组成的分隔符分开
strupr
char*strupr(char*str)
把串str中所有小写字母环卫大写。
返回转换后的串指针
5.输入/输出函数
access
intaccess(char*filename,intmode)
确定filename所指定的文件是否存在及文件的存取权限。
如果filename指向一目录,则返回该目录是否存在。
mode权限值(00,0204,06);
如果所要确定的存取权限是允许的,返回0;
否则返回-1,并将全局变量errno置为:
ENOENT路径名或文件名没有找到;
EACCES权限不对
io.h
cgets
char*cgets(char*string)
从控制台读字符串给string。
返回串指针
conio.h
chmod
intchmod(char*filename,intpermiss)
改变文件的存取方式、读写权限。
filenane为文件名,permiss为文件权限值;
函数返回值为-1时,表示出错。
clearer
voidclearerr(FILE*stream)
复位stream所指流式文件的错误标志
stdio.h
close
intclose(inthandle)
关闭文件。
handle为已打开的文件号;
返回值为-1时表示出错
cprintf
intcprintf(char*format[,argument,…])
格式化输出至屏幕。
*format为格式串;
argument为输出参数;
返回所输出的字符数
cputs
voidcputs(char*string)
写一字符串到屏幕。
string为要输出的串
creat
intcreat(char*filename,intpermiss)
创建一个新文件或重写一个已存在的文件。
filename为文件名,permiss为权限。
函数返回值为-1时,表示出错
cscanf
intcscanf(char*format[,argumen,…])
从控制台格式化输入。
format为格式串,argument为输入参数;
返回被正确转换和赋值的数据项数
dup
intdup(inthandle)
复制文件句柄(文件号)。
handle为已打开的文件号
dup2
intdup2(intoldhandle,intnewhandle)
复制文件句柄(文件号),即使newhandle文件号与oldhandle文件号指向同一文件
eof
原型inteof(int*handle)
功能(检测文件结束。
handle为已打开的文件号。
返回值为1时,表示文件结束;
否则为0;
-1表示出错
fclose
intfclose(FILE*stream)
关闭一个流。
stream为流指针。
返回EOF时,表示出错
fcloseall
intfcloseall(void)
关闭所有打开的流。
feof
intfeof(FILE*stream)
检测流上文件的结束标志。
返回非0值时,表示文件结束
ferror
intferror(FILE*stream)
检测流上的错误。
返回0时,表示无错
fflush
intfflush(FILE*stream)
清除一个流。
返回0时,表示成功
fgetc
intfgect(FILE*stream)
从流中读一个字符。
返回EOF时,表示出错或文件结束。
fgetchar
intfgechar(void)
从stdin中读取字符。
返回EOF时,表示出错或文件结束
头文件;
fgets
char*fgets(char*string,intn,FILE*stream)
从流中读取一字符串。
string为存串变量;
n为读取字节个数;
stream为流指针,返回EOF时,表示出错或文件结束。
filelength
longfile