Linux 常用 C 函数
第 1 页 共 115 页
Linux C
function()
参考手册
各位Linux爱好者:
你好!本人有幸在坊间得到一名为“Linux C 函数参考”的文本文件,并在此基础重新排
版并制成html文件以方便广大爱好者阅读,我感到无比的荣幸。在此多谢各位的鼎力支持,
以及日益完善此文件,希望有朝一日能成为Linux编程爱好者必备的参考文件。在此再次多谢
编写“Linux C 函数参考”的朋友。
声明:本人不拥有文章所有权。本人会对本文件文章内排版出现的错误或遗漏内容以及
日后提出的相关请求作出最大限度修改,有问题可e-mail:pennyhot@21cn.com
,别炸
我的邮箱:-)
PennyHot 2003.06.06
Linux 常用 C 函数
第 2 页 共 115 页
目录
字符测试篇 ........................................................................ 10
isalnum (
测试字符是否为英文或数字
) ............................................... 10
isalpha (
测试字符是否为英文字母
) ................................................. 10
isascii (
测试字符是否为
ASCII
码字符
) .............................................. 10
iscntrl (
测试字符是否为
ASCII
码的控制字符
) ......................................... 11
isdigit (
测试字符是否为阿拉伯数字
) ............................................... 11
isgraphis (
测试字符是否为可打印字符
) ............................................. 11
islower (
测试字符是否为小写字母
) ................................................. 12
isprint (
测试字符是否为可打印字符
) ............................................... 12
isspace (
测试字符是否为空格字符
) ................................................. 13
ispunct (
测试字符是否为标点符号或特殊符号
) ......................................... 13
isupper (
测试字符是否为大写英文字母
) .............................................. 13
isxdigit (
测试字符是否为
16
进制数字
) ............................................. 14
字符串转换篇 ....................................................................... 14
atof (
将字符串转换成浮点型数
) .................................................... 14
atoi (
将字符串转换成整型数
) ...................................................... 14
atol (
将字符串转换成长整型数
) .................................................... 15
gcvt (
将浮点型数转换为字符串
,
取四舍五入
) .......................................... 15
strtod (
将字符串转换成浮点数
) .................................................... 16
strtol (
将字符串转换成长整型数
) .................................................. 16
strtoul (
将字符串转换成无符号长整型数
) ............................................ 17
toascii (
将整型数转换成合法的
ASCII
码字符
) ......................................... 17
tolower (
将大写字母转换成小写字母
) ............................................... 17
toupper (
将小写字母转换成大写字母
) ............................................... 17
内存控制篇 ........................................................................ 18
calloc (
配置内存空间
) .......................................................... 18
free (
释放原先配置的内存
) ....................................................... 18
malloc (
配置内存空间
) .......................................................... 19
mmap (
建立内存映射
) ............................................................ 19
munmap (
解除内存映射
) .......................................................... 20
日期时间篇 ........................................................................ 20
asctime (
将时间和日期以字符串格式表示
) ............................................ 20
ctime (
将时间和日期以字符串格式表示
) .............................................. 21
gettimeofday (
取得目前的时间
) ................................................... 21
gmtime (
取得目前时间和日期
) ..................................................... 22
localtime (
取得当地目前时间和日期
) ............................................... 22
mktime (
将时间结构数据转换成经过的秒数
) ........................................... 23
Linux 常用 C 函数
第 3 页 共 115 页
settimeofday (
设置目前时间
) .................................................... 23
time (
取得目前的时间
) ........................................................... 23
内存及字符串操作篇 .................................................................. 24
bcmp (
比较内存内容
) ............................................................ 24
bcopy (
拷贝内存内容
) ........................................................... 24
bzero (
将一段内存内容全清为零
) ................................................... 24
index (
查找字符串中第一个出现的指定字符
) ........................................... 24
memccpy (
拷贝内存内容
) ......................................................... 25
memchr (
在某一内存范围中查找一特定字符
) ........................................... 25
memcmp (
比较内存内容
) .......................................................... 25
memcpy (
拷贝内存内容
) .......................................................... 26
memmove (
拷贝内存内容
) ......................................................... 26
memset (
将一段内存空间填入某值
) .................................................. 27
rindex (
查找字符串中最后一个出现的指定字符
) ........................................ 27
strcasecmp (
忽略大小写比较字符串
) ................................................ 27
strcat (
连接两字符串
) .......................................................... 27
strchr (
查找字符串中第一个出现的指定字符
) .......................................... 28
strcmp (
比较字符串
) ............................................................ 28
strcoll (
采用目前区域的字符排列次序来比较字符串
) .................................... 29
strcpy (
拷贝字符串
) ............................................................ 29
strcspn (
返回字符串中连续不含指定字符串内容的字符数
) ................................ 29
strdup (
复制字符串
) ............................................................ 29
strlen (
返回字符串长度
) ......................................................... 30
strncasecmp (
忽略大小写比较字符串
) ............................................... 30
strncat (
连接两字符串
) ......................................................... 30
strncpy (
拷贝字符串
) ........................................................... 31
strpbrk (
查找字符串中第一个出现的指定字符
) ......................................... 31
strrchr (
查找字符串中最后出现的指定字符
) .......................................... 31
strspn (
返回字符串中连续不含指定字符串内容的字符数
) ................................. 32
strstr (
在一字符串中查找指定的字符串
) ............................................. 32
strtok (
分割字符串
) ............................................................ 32
常用数学函数篇 ..................................................................... 33
abs (
计算整型数的绝对值
) ........................................................ 33
acos (
取反余弦函数数值
) ......................................................... 33
asin (
取反正弦函数值
) ........................................................... 33
atan (
取反正切函数值
) ........................................................... 34
atan2 (
取得反正切函数值
) ........................................................ 34
ceil (
取不小于参数的最小整型数
) .................................................. 34
Linux 常用 C 函数
第 4 页 共 115 页
cos (
取余玄函数值
) ............................................................. 35
cosh (
取双曲线余玄函数值
) ....................................................... 35
exp (
计算指数
) ................................................................. 35
frexp (
将浮点型数分为底数与指数
) ................................................. 35
ldexp (
计算
2
的次方值
).......................................................... 36
log (
计算以
e
为底的对数值
)....................................................... 36
log10 (
计算以
10
为底的对数值
) ................................................... 36
pow (
计算次方值
) ............................................................... 37
sin (
取正玄函数值
) ............................................................. 37
sinh (
取双曲线正玄函数值
) ....................................................... 37
sqrt (
计算平方根值
) ............................................................ 38
tan (
取正切函数值
) ............................................................. 38
tanh (
取双曲线正切函数值
) ....................................................... 38
用户组篇 .......................................................................... 38
endgrent (
关闭组文件
) .......................................................... 38
endpwent (
关闭密码文件
) ........................................................ 39
endutent (
关闭
utmp
文件
) ....................................................... 39
fgetgrent (
从指定的文件来读取组格式
) ............................................. 39
fgetpwent (
从指定的文件来读取密码格式
) ............................................ 40
getegid (
取得有效的组识别码
) .................................................... 41
geteuid (
取得有效的用户识别码
) ................................................... 41
getgid (
取得真实的组识别码
) ..................................................... 41
getgrent (
从组文件中取得账号的数据
) .............................................. 42
getgrgid (
从组文件中取得指定
gid
的数据
)........................................... 43
getgrnam (
从组文件中取得指定组的数据
) ............................................. 43
getgroups (
取得组代码
) ......................................................... 43
getpw (
取得指定用户的密码文件数据
) ................................................ 44
getpwent (
从密码文件中取得账号的数据
) ............................................. 44
getpwnam (
从密码文件中取得指定账号的数据
) ......................................... 45
getpwuid (
从密码文件中取得指定
uid
的数据
) ......................................... 46
getuid (
取得真实的用户识别码
) .................................................... 46
getutent (
从
utmp
文件中取得账号登录数据
).......................................... 46
getutid (
从
utmp
文件中查找特定的记录
) ............................................ 47
getutline (
从
utmp
文件中查找特定的记录
) .......................................... 48
initgroups (
初始化组清单
) ...................................................... 48
pututline (
将
utmp
记录写入文件
) ................................................. 48
seteuid (
设置有效的用户识别码
) ................................................... 49
setfsgid (
设置文件系统的组识别码
) ................................................ 49
Linux 常用 C 函数
第 5 页 共 115 页
setfsuid (
设置文件系统的用户识别码
) .............................................. 49
setgid (
设置真实的组识别码
) ..................................................... 49
setgrent (
从头读取组文件中的组数据
) .............................................. 49
setgroups (
设置组代码
) ......................................................... 50
setpwent (
从头读取密码文件中的账号数据
) ........................................... 50
setregid (
设置真实及有效的组识别码
) .............................................. 50
setreuid (
设置真实及有效的用户识别码
) ............................................. 50
setuid (
设置真实的用户识别码
) .................................................... 51
setutent (
从头读取
utmp
文件中的登录数据
).......................................... 51
utmpname (
设置
utmp
文件路径
).................................................... 51
数据结构及算法篇 ................................................................... 51
crypt (
将密码或数据编码
) ........................................................ 51
bsearch (
二元搜索
) ............................................................. 52
lfind (
线性搜索
) ............................................................... 53
lsearch (
线性搜索
) ............................................................. 53
qsort (
利用快速排序法排列数组
) ................................................... 54
rand (
产生随机数
) .............................................................. 55
srand (
设置随机数种子
) .......................................................... 55
文件操作篇 ........................................................................ 55
close (
关闭文件
) ............................................................... 55
creat (
建立文件
) ............................................................... 56
dup (
复制文件描述词
) ............................................................ 56
dup2 (
复制文件描述词
) ........................................................... 56
fcntl (
文件描述词操作
) .......................................................... 56
flock (
锁定文件或解除锁定
) ...................................................... 57
fsync (
将缓冲区数据写回磁盘
) ..................................................... 57
lseek (
移动文件的读写位置
) ...................................................... 58
mkstemp (
建立唯一的临时文件
) .................................................... 58
open (
打开文件
) ................................................................ 58
read (
由已打开的文件读取数据
) .................................................... 60
sync (
将缓冲区数据写回磁盘
) ...................................................... 60
write (
将数据写入已打开的文件内
) ................................................. 60
文件内容操作篇 ..................................................................... 60
clearerr (
清除文件流的错误旗标
) .................................................. 60
fclose (
关闭文件
) .............................................................. 60
fdopen (
将文件描述词转为文件指针
) ................................................ 61
feof (
检查文件流是否读到了文件尾
) ................................................. 61
fflush (
更新缓冲区
) ............................................................ 61