linux c lib

来源:互联网 发布:股票什么时候买入知乎 编辑:程序博客网 时间:2024/06/06 10:04

ecvt, fcvt, gcvt: 转换浮点数到字符串, 主要是参数不同, ecvt, fcvt返回静态分配的buffer, 而gcvt返回到指定的buffer.

 

sbrk:增量式改变数据段大小, 参数为0: 返回当前数据段的位置

 

getpagesize: 取得分页大小

 

ftime: 返回当前时间以秒, 毫秒为单位

 

strftime: 格式化time tm到指定的buffer

 

time: 返回指定命令和命令参数运行占用的时间, 可指定格式

 

bcopy, bcmp, bzero:  内存处理(BSD 函数, 符合posix, 不在ansi c库中)

跟memcpy, memset, memcmp相似, 后者是c90之后的标准c的函数

 

 

ffs: 返回整数中的第一个被设置的位, 低位开始

 

index: 返回字符串中第一个指定字符的位置

rindex: 返回字符串中最后一个指定字符串的位置

strcasecmp: 忽略大小写比较

 

memfrob: 对指定内存起始加密,用42异或

 

strdup: 复制字串到malloc内存(由strdup产生),可用free释放

 

frexp: 将浮点数转为底数和指数

 

hypot: 计算直角三角形斜边长

 

ldexp: 计算2的x次方

modf: 将浮点数拆分成整数和小数

 

加密:

crypt

getpasswd

 

bsearch:二分法查找,需要先按升序排列数组(qsort), 和指定比较函数。

 

hcreate, hsearch, hdestroy哈希函数

 

insque, rmque: 插入,删除元素到list, 这个元素前两个字段是forward, 和back(next, prev)

 

 

lfind, lsearch: 线性查找, 区别如果查不到, lsearch会将元素查到表的末尾, 而ifind不

 

tdelete, tfind, tsearch, twalk, tdestroy : 二叉树管理函数

 

flock:锁定, 解锁文件

 

 fdopen:将文件描述符转换成文件指针,   int到FILE *, 可指定模式

fileno:获取文件流的文件描述符

 

 

getpid:获得进程pid, 对于linux, 实际是领头进程pid, 可用linux系统调用获得实际的pid:syscall __NR_gettid

或者:

struct pthread_int
{
void *skip[18];
pid_t tid;
};

struct pthread_int * pt = (struct pthread_int *) pthread_self();
pt->tid 就是线程的pid,你可以拿这个pt->tid向线程用tkill发信号。 

 

 

 quotactl: 控制磁盘配额

 

 mlock/munlock: 内存页面加锁

 

mprotect: 控制内存读写

 

getpeername: 获取对方socket name,

getsocketname: 获取socket name

shutdown: 关闭socket

sendfile: 在文件和端口之间传送文件

 

 setjmp: 设置跳转栈

longjmp: 跳到setjmp指定的地方

 

realpath:将相对目录转换为绝对目录

 

htonl: 32bit, 将网络顺序转换成host顺序

htons: 16位

 

inet_addr, inet_aton, inet_ntoa: 二进制和网络地址转换

 

openlog, syslog, closelog: 日志处理

 

regerror, regcomp, regexec, regfree: 正则表达式处理

见: http://apps.hi.baidu.com/share/detail/46827495

http://www.yesky.com/imagesnew/software/vbscript/html/jsgrpRegExpSyntax.htm

http://baike.baidu.com/view/94238.htm

http://www.cnblogs.com/dragon/archive/2006/05/08/394078.html

 

 

getopt:http://baike.baidu.com/view/2406693.htm

 

isatty:检查文件描述符所指是否是一个terminal

http://hi.baidu.com/ilotus_y/blog/item/2c61e8df377feb14485403fb.html

 

 

 

poll, select, fcntl, epoll:多路i/o查询, poll/epoll效率较高。占用系统资源少。

 

 access: 进程检查文件的访问权限, 读,写,执行,存在等。

 

几个用于比较的函数:

 http://www.cnljh.com/clib/string/bcmp.html

 

 参考:

 http://wenku.baidu.com/view/a63faeea998fcc22bcd10d18.html