LinuxC函数库大全
(1)字符测试函数
isalnum(测试字符是否为英⽂字母或数字)isalpha(测试字符是否为英⽂字母)isascii(测试字符是否为ASCII码字符)isblank(测试字符是否为空格字符)
iscntrl(测试字符是否为ASCII码的控制字符)isdigit(测试字符是否为阿拉伯数字)
isgraph(测试字符是否为可打印字符)islower(测试字符是否为⼩写英⽂字母)isprint(测试字符是否为可打印字符)isspace(测试字符是否为空格字符)
ispunct(测试字符是否为标点符号或特殊符号)isupper(测试字符是否为⼤写英⽂字母)isxdigit(测试字符是否为16进制数字)
(2)数据转换函数
atof(将字符串转换成浮点型数)1atoi(将字符串转换成整型数)atol(将字符串转换成长整型数)
ecvt(将浮点型数转换成字符串,19取四舍五⼊)fcvt(将浮点型数转换为字符串,20取四舍五⼊)gcvt(将浮点型数转换为字符串,21取四舍五⼊)
(3)内存配置函数
alloca(配置内存空间)brk(改变数据字节的范围)calloc(配置内存空间)
free(释放原先配置的内存)
getpagesize(取得内存分页⼤⼩)malloc(配置内存空间)mmap(建⽴内存映射)munmap(解除内存映射)realloc(更改⼰配置的内存空间)sbrk(增加程序可⽤的数据空间)
(4)时间函数
asctime(将时间和⽇期以字符串格式表⽰)clock(取得进程占⽤CPU的⼤约时间)ctime(将时间和⽇期以字符串格式表⽰)difftime(计算时间差距)
ftime(取得⽬前的时间和⽇期)gettimeofday(取得⽬前的时间)gmtime(取得⽬前的时间和⽇期)
localtime(取得当地⽬前的时间和⽇期)mktime(将时间结构数据转换成经过的秒数)settimeofday(设置⽬前的时间)strftime(格式化⽇期和时间)time(取得⽬前的时间)
tzset(设置时区以供时间转换)
(5)字符串处理函数bcmp(⽐较内存内容)bcopy(拷贝内存内容)
bzero(将⼀段内存内容全清为零)
ffs(在⼀整型数中查找第⼀个值为真的位)index(查找字符串中第⼀个出现的指定字符)memccpy(拷贝内存内容)
memchr(在某⼀内存范围中查找⼀特定字符)memcmp(⽐较内存内容)memcpy(拷贝内存内容)memfrob(对内存区域编码)
memmove(拷贝内存内容)
memset(将⼀段内存空间填⼊某值)
rindex(查找字符串中最后⼀个出现的指定字符)strcasecmp(忽略⼤⼩写⽐较字符串)strcat(连接两字符串)
strchr(查找字符串中第⼀个出现的指定字符)
strcmp(⽐较字符串)
strcoll(采⽤⽬前区域的字符排列次序来⽐较字符串)strcpy(拷贝字符串)
strcspn(返回字符串中连续不含指定字符串内容的字符数)strdup(复制字符串)
strfry(随机重组字符串内的字符)
strlen(返回字符串长度)
strncasecmp(忽略⼤⼩写⽐较字符串)strncat(连接两字符串)strncmp(⽐较字符串)strncpy(拷贝字符串)
strpbrk(查找字符串中第⼀个出现的指定字符)
strrchr(查找字符串中最后⼀个出现的指定字符)
strspn(返回字符串中连续不合指定字符串内容的字符数)strstr(在⼀字符串中查找指定的字符串)strtok(分割字符串)
(6)数学计算函数
abs(计算整型数的绝对值)acos(取反余弦函数值)asin(取反正弦函数值)atan(取反正切函数值)atan2(取得反正切函数值)
ceil(取不⼩于参数的最⼩整型数)cos(取余弦函数值)
cosh(取双曲线余弦函数值)
div(取得两整型数相除后的商及余数)exp(计算指数)
fabs(计算浮点型数的绝对值)
frexp(将浮点型数分为底数与指数)hypot(计算直⾓三⾓形斜边长)labs(计算长整型数的绝对值)ldexp(计算2的次⽅值)
ldiv(取得两长整数相除后的商及余数)log(计算以e为底的对数值)log10(计算以10为底的对数值)
modf(将浮点型数分解成整数与⼩数)pow(计算次⽅值)sin(取正弦函数值)
sinh(取双曲线正弦函数值)sqrt(计算平⽅根值)tan(取正切函数值)
tanh(取双曲线正切函数值)
(7)⽤户和组函数
cuserid(取得⽤户帐号名称)endgrent(关闭组⽂件)endpwent(关闭密码⽂件)endutent(关闭utmp⽂件)
fgetgrent(从指定的⽂件来读取组格式)fgetpwent(从指定的⽂件来读取密码格式)getegid(取得有效的组识别码)geteuid(取得有效的⽤户识别码)getgid(取得真实的组识别码)
getgrent(从组⽂件⽂件中取得帐号的数据)getgrgid(从组⽂件中取得指定gid的数据)getgrnan(从组⽂件中取得指定组的数据)getgroups(取得组代码)
getlogin(取得登录的⽤户帐号名称)
getpw(取得指定⽤户的密码⽂件数据)getpwent(从密码⽂件中取得帐号的数据)
getpwnam(从密码⽂件中取得指定帐号的数据)getpwuid(从密码⽂件中取得指定uid的数据)getuid(取得真实的⽤户识别码)
getutent(从utmp⽂件中取得帐号登录数据)getutid(从utmp⽂件中查找特定的记录)getutline(从utmp⽂件中查找特定的记录)initgroups(初始化组清单)
logwtmp(将⼀登录数据记录到wtmp⽂件)pututline(将utmp记录写⼊⽂件)setegid(设置有效的组识别码)
seteuid(设置有效的⽤户识别码)setfsgid(设置⽂件系统的组识别码)setfsuid(设置⽂件系统的⽤户识别码)setgid(设置真实的组识别码)
setgrent(从头读取组⽂件中的组数据)setgroups(设置组代码)
setpwent(从头读取密码⽂件中的帐号数据)setregid(设置真实及有效的组识别码)setreuid(设置真实及有效的⽤户识别码)setuid(设置真实的⽤户识别码)
setutent(从头读取utmp/⽂件中的登录数据)updwtmp(将⼀登录数据记录到wtmp⽂件)utmpname(设置utmp⽂件路径)
(8)数据加密函数
crypt(将密码或数据编码)getpass(取得⼀密码输⼊)
(9)数据结构函数bsearch(⼆元搜索)hcreate(建⽴哈希表)hdestory(删除哈希表)hsearch(哈希表搜索)
insque(加⼊⼀项⽬⾄队列中)lfind(线性搜索)
lsearch(线性搜索)
qsort(利⽤快速排序法排列数组)rremque(从队列中删除⼀项⽬)tdelete(从⼆叉树中删除数据)tfind(搜索⼆叉树)tsearch(⼆叉树)twalk(⾛访⼆叉树)
(10)随机数函数
drand48(产⽣⼀个正的浮点型随机数)erand48(产⽣⼀个正的浮点型随机数)initstate(建⽴随机数状态数组)
jrand48(产⽣⼀个长整型数随机数)lcong48(设置48位运算的随机数种⼦)lrand48(产⽣⼀个正的长整型随机数)mrand48(产⽣⼀个长整型随机数)nrand48(产⽣⼀个正的长整型随机数)rand(产⽣随机数)random(产⽣随机数)
seed48(设置48位运算的随机数种⼦)setstate(建⽴随机数状态数组)srand(设置随机数种⼦)
srand48(设置48位运算的随机数种⼦)srandom(设置随机数种⼦)
(11)初级I/O函数close(关闭⽂件)creat(建⽴⽂件)
dup(复制⽂件描述词)dup2(复制⽂件描述词)fcntl(⽂件描述词操作)
flock(锁定⽂件或解除锁定)fsync(将缓冲区数据写回磁盘)lseek(移动⽂件的读写位置)mkstemp(建⽴唯⼀的临时⽂件)open(打开⽂件)
read(由⼰打开的⽂件读取数据)sync(将缓冲区数据写回磁盘)
write(将数据写⼊已打开的⽂件内)
(12)标准I/O函数
clearerr(清除⽂件流的错误旗标)fclose(关闭⽂件)
fdopen(将⽂件描述词转为⽂件指针)feof(检查⽂件流是否读到了⽂件尾)fflush(更新缓冲区)
fgetc(由⽂件中读取⼀个字符)fgetpos(取得⽂件流的读取位置)fgets(由⽂件中读取⼀字符串)
fileno(返回⽂件流所使⽤的⽂件描述词)fopen(打开⽂件)
fputc(将⼀指定字符写⼊⽂件流中)fputs(将⼀指定的字符串写⼊⽂件内)fread(从⽂件流读取数据)freopen(打开⽂件)
fseek(移动⽂件流的读写位置)fsetpos(移动⽂件流的读写位置)ftell(取得⽂件流的读取位置)fwrite(将数据写⾄⽂件流)getc(由⽂件中读取⼀个字符)
getchar(由标准输⼊设备内读进⼀字符)gets(由标准输⼊设备内读进⼀字符串)mktemp(产⽣唯⼀的临时⽂件⽂件名)putc(将⼀指定字符写⼊⽂件中)
putchar(将指定的字符写到标准输出设备)puts(将指定的字符串写到标准输出设备)rewind(重设⽂件流的读写位置为⽂件开头)setbuf(设置⽂件流的缓冲区)setbuffer(设置⽂件流的缓冲区)setlinebuf(设置⽂件流为线性缓冲区)setvbuf(设置⽂件流的缓冲区)
tmpfile(建⽴临时⽂件)
ungetc(将⼀指定字符写回⽂件流中)
(13)进程及流程控制
abort(以异常⽅式结束进程)
assert(若测试的条件不成⽴则终⽌进程)atexit(设置程序正常结束前调⽤的函数)execl(执⾏⽂件)execle(执⾏⽂件)
execlp(从PATH环境变量中查找⽂件并执⾏)execv(执⾏⽂件)execve(执⾏⽂件)execvp(执⾏⽂件)exit(正常结束进程)_exit(结束进程执⾏)fork(建⽴⼀个新的进程)getpgid(取得进程组识别码)getpgrp(取得进程组识别码)getpid(取得进程识别码)
getppid(取得⽗进程的进程识别码)
getpriority(取得程序进程执⾏优先权)
longjmp(跳转到原先setjmp保存的堆栈环境)nice(改变进程优先顺序)
on_exit(设置程序正常结束前调⽤的函数)ptrace(进程追踪)
setjmp(保存⽬前堆栈环境)setpgid(设置进程组识别码)
setpgrp(设置进程组识别码)
setpriority(设置程序进程执⾏优先权)
siglongjmp(跳转到原先sigsetjmp保存的堆栈环境)sigsetjmp(保存⽬前堆栈环境)system(执⾏shell命令)
wait(等待⼦进程中断或结束)waitpid(等待⼦进程中断或结束)
(14)格式化输⼈输出函数fprintf(格式化输出数据⾄⽂件)fscanf(格式化字符串输⼊)printf(格式化输出数据)scanf(格式化字符串输⼊)snprintf(格式化字符串复制)sprintf(格式化字符串复制)sscanf(格式化字符串输⼊)
vfprintf(格式化输出数据⾄⽂件)vfcanf(格式化字符串输⼊)vprintf(格式化输出数据)vscanf(格式化字符串输⼊)vsnprintf(格式化字符串复制)vsprintf(格式化字符串复制)vsscanf(格式化字符串输⼊)
(15)⽂件及⽬录函数
access(判断是否具有存取⽂件的权限)alphasort(依字母顺序排序⽬录结构)chdir(改变当前的⼯作⽬录)chmod(改变⽂件的权限)chown(改变⽂件的所有者)chroot(改变根⽬录)closedir(关闭⽬录)
fchdir(改变当前的⼯作⽬录)fchmod(改变⽂件的权限)fchown(改变⽂件的所有者)
fstat(由⽂件描述词取得⽂件状态)ftruncate(改变⽂件⼤⼩)ftw(遍历⽬录树)
get_current_dir_name(取得当前的⼯作⽬录)getcwd(取得当前的⼯作⽬录)getwd(取得当前的⼯作⽬录)lchown(改变⽂件的所有者)link(建⽴⽂件连接)
lstat(由⽂件描述词取得⽂件状态)nftw(遍历⽬录树)opendir(打开⽬录)readdir(读取⽬录)
readlink(取得符号连接所指的⽂件)
realpath(将相对⽬录路径转换成绝对路径)remove(删除⽂件)
rename(更改⽂件名称或位置)
rewinddir(重设读取⽬录的位置为开头位置)scandir(读取特定的⽬录数据)seekdir(设置下回读取⽬录的位置)stat(取得⽂件状态)
symlink(建⽴⽂件符号连接)telldir(取得⽬录流的读取位置)truncate(改变⽂件⼤⼩)
umask(设置建⽴新⽂件时的权限遮罩)unlink(删除⽂件)
utime(修改⽂件的存取时间和更改时间)utimes(修改⽂件的存取时间和更改时间)
(16)信号函数
alarm(设置信号传送闹钟)kill(传送信号给指定的进程)
pause(让进程暂停直到信号出现)psignal(列出信号描述和指定字符串)raise(传送信号给⽬前的进程)sigaction(查询或设置信号处理⽅式)sigaddset(增加⼀个信号⾄信号集)sigdelset(从信号集⾥删除⼀个信号)sigemptyset(初始化信号集)
sigfillset(将所有信号加⼊⾄信号集)
sigismember(测试某个信号是否已加⼊⾄信号集⾥)signal(设置信号处理⽅式)sigpause(暂停直到信号到来)sigpending(查询被搁置的信号)sigprocmask(查询或设置信号遮罩)sigsuspend(暂停直到信号到来)sleep(让进程暂停执⾏⼀段时间)isdigit(测试字符是否为阿拉伯数字)
(17)错误处理函数
ferror(检查⽂件流是否有错误发⽣)perror(打印出错误原因信息字符串)streror(返回错误原因的描述字符串)
(18)管道相关函数mkfifo(建⽴具名管道)pclose(关闭管道I/O)
pipe(建⽴管道)
popen(建⽴管道I/O)
(19)Soket相关函数
accept(接受socket连线)bind(对socket定位)
connect(建⽴socket连线)
endprotoent(结束⽹络协议数据的读取)endservent(结束⽹络服务数据的读取)gethostbyaddr(由IP地址取得⽹络数据)gethostbyname(由主机名称取得⽹络数据)getprotobyname(由⽹络协议名称取得协议数据)getprotobynumber(由⽹络协议编号取得协议数据)getprotoent(取得⽹络协议数据)
getservbyname(依名称取得⽹络服务的数据)getservbyport(依port号码取得⽹络服务的数据)getservent(取得主机⽹络服务的数据)getsockopt(取得socket状态)
herror(打印出⽹络错误原因信息字符串)hstrerror(返回⽹络错误原因的描述字符串)htonl(将32位主机字符顺序转换成⽹络字符顺序)htons(将16位主机字符顺序转换成⽹络字符顺序)inet_addr(将⽹络地址转成⽹络⼆进制的数字)inet_aton(将⽹络地址转成⽹络⼆进制的数字)inet_ntoa(将⽹络⼆进制的数字转换成⽹络地址)listen(等待连接)
ntohl(将32位⽹络字符顺序转换成主机字符顺序)ntohs(将16位⽹络字符顺序转换成主机字符顺序)recv(经socket接收数据)recvfrom(经socket接收数据)recvmsg(经socket接收数据)send(经socket传送数据)sendmsg(经socket传送数据)sendto(经socket传送数据)
setprotoent(打开⽹络协议的数据⽂件)setservent(打开主机⽹络服务的数据⽂件)setsockopt(设置socket状态)shutdown(终⽌socket通信)socket(建⽴⼀个socket通信)
(20)进程通信(IPC)函数
ftok(将⽂件路径和计划代号转为SystemcVIPCkey)msgctl(控制信息队列的运作)msgget(建⽴信息队列)msgrcv(从信息队列读取信息)msgsnd(将信息送⼊信息队列)semctl(控制信号队列的操作)semget(配置信号队列)semop(信号处理)
shmat(attach共享内存)shmctl(控制共享内存的操作)shmdt(detach共享内存)shmget(配置共享内存)
(21)记录函数
closelog(关闭信息记录)openlog(准备做信息记录)
syslog(将信息记录⾄系统⽇志⽂件)
(22)环境变量函数
getenv(取得环境变量内容)putenv(改变或增加环境变量)setenv(改变或增加环境变量)unsetenv(清除环境变量内容)
(23)正则表达式
regcomp(编译正则表达式字符串)regerror(取得正则搜索的错误原因)regexec(进⾏正则表达式的搜索)regfree(释放正则表达式使⽤的内存)
(24)动态函数
dlclose(关闭动态函数库⽂件)dlerror(动态函数错误处理)dlopen(打开动态函数库⽂件)dlsym(从共享对象中搜索动态函数)
(25)其他函数
getopt(分析命令⾏参数)
isatty(判断⽂件描述词是否是为终端机)select(I/O多⼯机制)ttyname(返回⼀终端机名称)
因篇幅问题不能全部显示,请点此查看更多更全内容