红联Linux门户
Linux帮助

Linux平台下C编程常用API接口和函数

发布时间:2013-11-22 10:23:19来源:红联作者:erfcend
目录
Linux C . 错误!未定义书签。
1 字符测试篇 ... 错误!未定义书签。
1.1 isalnum(测试字符是否为英文或数字) . 11
1.2 isalpha (测试字符是否为英文字母).....12
1.3 isascii(测试字符是否为ASCII 码字符)........12
1.4 iscntrl(测试字符是否为ASCII 码的控制字符).....13
1.5 isdigit(测试字符是否为阿拉伯数字)....13
1.6 isgraphis(测试字符是否为可打印字符) ........14
1.7 islower(测试字符是否为小写字母) ......15
1.8 isprint(测试字符是(否为可打印字符)15
1.9 isspace(测试字符是否为空格字符) ......16
1.10 ispunct(测试字符是否为标点符号或特殊符号) ....17
1.11 isupper(测试字符是否为大写英文字母) .......17
1.12 isxdigit(测试字符是否为16进制数字)18
2 字符串转换篇 错误!未定义书签。
2.1 atof(将字符串转换成浮点型数)...19
2.2 atoi(将字符串转换成整型数).......19
2.3 atol(将字符串转换成长整型数)...20
2.4 gcvt(将浮点型数转换为字符串,取四舍五入) .....21
2.5 strtod(将字符串转换成浮点数)....21
2.6 strtol(将字符串转换成长整型数).22
2.7 strtoul(将字符串转换成无符号长整型数).....23
2.8 toascii(将整型数转换成合法的ASCII 码字符) ....24
2.9 tolower(将大写字母转换成小写字母)..24
2.10 toupper(将小写字母转换成大写字母)..25
3 内存控制篇 ... 错误!未定义书签。
3.1 calloc(配置内存空间) .26
3.2 free(释放原先配置的内存)..26
3.3 getpagesize(取得内存分页大小) ..27
3.4 malloc(配置内存空间)27
3.5 mmap(建立内存映射).28
3.6 munmap(解除内存映射)......30
4 日期时间篇 ... 错误!未定义书签。
4.1 asctime(将时间和日期以字符串格式表示)...31
4.2 ctime(将时间和日期以字符串格式表示) ......31
4.3 gettimeofday(取得目前的时间)....32
4.4 gmtime(取得目前时间和日期).....33
4.5 localtime(取得当地目前时间和日期) ...34
4.6 mktime(将时间结构数据转换成经过的秒数)........35
4.7 settimeofday(设置目前时间) ........36
4.8 time(取得目前的时间)36
5 内存及字符串操作篇 ...... 错误!未定义书签。
5.1 bcmp(比较内存内容)..37
5.2 bcopy(拷贝内存内容).37
5.3 bzero(将一段内存内容全清为零)38
5.4 index(查找字符串中第一个出现的指定字符) .......38
5.5 memccpy(拷贝内存内容) ....39
5.6 memchr(在某一内存范围中查找一特定字符).......39
5.7 memcmp(比较内存内容).....40
5.8 memcpy(拷贝内存内容) ......41
5.9 memmove(拷贝内存内容)...42
5.10 memset(将一段内存空间填入某值) .....42
5.11 rindex(查找字符串中最后一个出现的指定字符)..43
5.12 strcasecmp(忽略大小写比较字符串) ....43
5.13 strcat(连接两字符串) ..44
5.14 strchr(查找字符串中第一个出现的指定字符).......44
5.15 strcmp(比较字符串)....45
5.16 strcoll(采用目前区域的字符排列次序来比较字符串) ...46
5.17 strcpy(拷贝字符串).....46
5.18 strcspn(返回字符串中连续不含指定字符串内容的字符数)...47
5.19 strdup(复制字符串).....47
5.20 strlen(返回字符串长度).......48
5.21 strncasecmp(忽略大小写比较字符串) ..49
5.22 strncat(连接两字符串) 49
5.23 strncpy(拷贝字符串)...50
5.24 strpbrk(查找字符串中第一个出现的指定字符).....50
5.25 strrchr(查找字符串中最后出现的指定字符).51
5.26 strspn(返回字符串中连续不含指定字符串内容的字符数).....52
5.27 strstr(在一字符串中查找指定的字符串).......52
5.28 strtok(分割字符串)......53
6 常用数学函数篇 ..... 错误!未定义书签。
6.1 abs(计算整型数的绝对值) ..54
6.2 acos(取反余弦函数数值).....54
6.3 asin(取反正弦函数值) 55
6.4 atan(取反正切函数值) 55
6.5 atan2(取得反正切函数值) ...56
6.6 ceil(取不小于参数的最小整型数) ........57
6.7 cos(取余玄函数值) .....57
6.8 cosh(取双曲线余玄函数值) 58
6.9 exp(计算指数)....58
6.10 frexp(将浮点型数分为底数与指数) .....59
6.11 ldexp(计算2的次方值).......59
6.12 log(计算以e 为底的对数值).......60
6.13 log10(计算以10 为底的对数值).61
6.14 pow(计算次方值)........61
6.15 sin(取正玄函数值) ......62
6.16 sinh(取双曲线正玄函数值) .62
6.17 sqrt(计算平方根值).....63
6.18 tan(取正切函数值)......63
6.19 tanh(取双曲线正切函数值).64
7 用户组篇 ....... 错误!未定义书签。
7.1 endgrent(关闭组文件).65
7.2 endpwent(关闭密码文件) ....65
7.3 endutent(关闭utmp 文件)...66
7.4 fgetgrent(从指定的文件来读取组格式) ........66
7.5 fgetpwent(从指定的文件来读取密码格式)...67
7.6 getegid(取得有效的组识别码) .....68
7.7 geteuid(取得有效的用户识别码) .69
7.8 getgid(取得真实的组识别码).......69
7.9 getgrent(从组文件中取得账号的数据).70
7.10 getgrgid(从组文件中取得指定gid 的数据)..71
7.11 getgrnam(从组文件中取得指定组的数据)....72
7.12 getgroups(取得组代码) ........73
7.13 getpw(取得指定用户的密码文件数据) 73
7.14 getpwent(从密码文件中取得账号的数据) ....74
7.15 getpwnam(从密码文件中取得指定账号的数据) ...76
7.16 getpwuid(从密码文件中取得指定uid 的数据) .....76
7.17 getuid(取得真实的用户识别码)...77
7.18 getutent(从utmp 文件中取得账号登录数据)........77
7.19 getutid(从utmp 文件中查找特定的记录).....79
7.20 getutline(从utmp 文件中查找特定的记录)..80
7.21 initgroups(初始化组清单)....80
7.22 pututline(将utmp 记录写入文件) ........81
7.23 seteuid(设置有效的用户识别码)..81
7.24 setfsgid(设置文件系统的组识别码) .....82
7.25 setfsuid(设置文件系统的用户识别码) .82
7.26 setgid(设置真实的组识别码) .......83
7.27 setgrent(从头读取组文件中的组数据) .83
7.28 setgroups(设置组代码) ........83
7.29 setpwent(从头读取密码文件中的账号数据).84
7.30 setregid(设置真实及有效的组识别码) .85
7.31 setreuid(设置真实及有效的用户识别码) ......85
7.32 setuid(设置真实的用户识别码) ...85
7.33 setutent(从头读取utmp 文件中的登录数据) ........86
7.34 utmpname(设置utmp 文件路径).86
8 数据结构及算法篇 . 错误!未定义书签。
8.1 crypt(将密码或数据编码)....87
8.2 bsearch(二元搜索).......88
8.3 lfind(线性搜索) ..89
8.4 lsearch(线性搜索) .......90
8.5 qsort(利用快速排序法排列数组).91
8.6 rand(产生随机数)........92
8.7 srand(设置随机数种子) .......93
9 文件操作篇 ... 错误!未定义书签。
9.1 close(关闭文件) .94
9.2 creat(建立文件)..94
9.3 dup(复制文件描述词).95
9.4 dup2(复制文件描述词)........95
9.5 fcntl(文件描述词操作) ........96
9.6 flock(锁定文件或解除锁定)97
9.7 fsync(将缓冲区数据写回磁盘) ....97
9.8 lseek(移动文件的读写位置)98
9.9 mkstemp(建立唯一的临时文件) ..98
9.10 open(打开文件)..99
9.11 read(由已打开的文件读取数据)101
9.12 sync(将缓冲区数据写回磁盘)....102
9.13 write(将数据写入已打开的文件内)....102
10 文件内容操作篇 . 错误!未定义书签。
10.1 clearerr(清除文件流的错误旗标)........103
10.2 fclose(关闭文件) .......103
10.3 fdopen(将文件描述词转为文件指针).103
10.4 feof(检查文件流是否读到了文件尾) .104
10.5 fflush(更新缓冲区) ...104
10.6 fgetc(由文件中读取一个字符)...105
10.7 fgets(由文件中读取一字符串) ...105
10.8 fileno(返回文件流所使用的文件描述词)....106
10.9 fopen(打开文件)........107
10.10 fputc(将一指定字符写入文件流中)108
10.11 fputs(将一指定的字符串写入文件内).....108
10.12 fread(从文件流读取数据).......108
10.13 freopen(打开文件).109
10.14 fseek(移动文件流的读写位置) ....... 110
10.15 ftell(取得文件流的读取位置) 111
10.16 fwrite(将数据写至文件流) ..... 111
10.17 getc(由文件中读取一个字符) 112
10.18 getchar(由标准输入设备内读进一字符) . 113
10.19 gets(由标准输入设备内读进一字符串)... 113
10.20 mktemp(产生唯一的临时文件名)... 114
10.21 putc(将一指定字符写入文件中) ..... 114
10.22 putchar(将指定的字符写到标准输出设备)...... 115
10.23 rewind(重设文件流的读写位置为文件开头)... 115
10.24 setbuf(设置文件流的缓冲区) . 115
10.25 setbuffer(设置文件流的缓冲区)...... 116
10.26 setlinebuf(设置文件流为线性缓冲区) ..... 116
10.27 setvbuf(设置文件流的缓冲区) ........ 117
10.28 ungetc(将指定字符写回文件流中) . 117
11 进程操作篇 错误!未定义书签。
11.1 atexit(设置程序正常结束前调用的函数) .... 118
11.2 execl(执行文件) ........ 118
11.3 execlp(从PATH 环境变量中查找文件并执行)... 119
11.4 execv(执行文件) ....... 119
11.5 execve(执行文件)......120
11.6 execvp(执行文件) .....121
11.7 exit(正常结束进程)...122
11.8 exit(结束进程执行)...122
11.9 vfork(建立一个新的进程) .122
11.10 getpgid(取得进程组识别码)...123
11.11 getpgrp(取得进程组识别码)...124
11.12 getpid(取得进程识别码)124
11.13 getppid(取得父进程的进程识别码)125
11.14 getpriority(取得程序进程执行优先权) ....125
11.15 nice(改变进程优先顺序) ........126
11.16 on_exit(设置程序正常结束前调用的函数)......126
11.17 setpgid(设置进程组识别码) ...127
11.18 setpgrp(设置进程组识别码) ...127
11.19 setpriority(设置程序进程执行优先权).....128
11.20 system(执行shell 命令) 128
11.21 wait(等待子进程中断或结束)129
11.22 waitpid(等待子进程中断或结束)....130
11.23 fprintf(格式化输出数据至文件)......131
11.24 fscanf(格式化字符串输入) .....131
11.25 printf(格式化输出数据).132
11.26 sacnf(格式化字符串输入) ......134
11.27 sprintf(格式化字符串复制) ....135
11.28 sscanf(格式化字符串输入).....135
11.29 vfprintf(格式化输出数据至文件)....136
11.30 vfscanf(格式化字符串输入) ...136
11.31 vprintf(格式化输出数据)........137
11.32 vscanf(格式化字符串输入) ....137
11.33 vsprintf(格式化字符串复制) ..138
11.34 vsscanf(格式化字符串输入)...138
12 文件权限控制篇 . 错误!未定义书签。
12.1 access(判断是否具有存取文件的权限).......139
12.2 alphasort(依字母顺序排序目录结构) .140
12.3 chdir(改变当前的工作(目录)...141
12.4 chmod(改变文件的权限)...141
12.5 chown(改变文件的所有者) ........142
12.6 chroot(改变根目录)...143
12.7 closedir(关闭目录) ....144
12.8 fchdir(改变当前的工作目录) .....144
12.9 fchmod(改变文件的权限)..145
12.10 fchown(改变文件的所有者)...145
12.11 fstat(由文件描述词取得文件状态) .146
12.12 ftruncate(改变文件大小)147
12.13 getcwd(取得当前的工作目录) ........147
12.14 link(建立文件连接)........148
12.15 lstat(由文件描述词取得文件状态) .149
12.16 opendir(打开目录).149
12.17 readdir(读取目录) .149
12.18 readlink(取得符号连接所指的文件)........151
12.19 remove(删除文件).151
12.20 rename(更改文件名称或位置) ........152
12.21 rewinddir(重设读取目录的位置为开头位置) ..152
12.22 seekdir(设置下回读取目录的位置) 154
12.23 stat(取得文件状态) ........155
12.24 symlink(建立文件符号连接)..157
12.25 telldir(取得目录流的读取位置) ......158
12.26 truncate(改变文件大小).159
12.27 umask(设置建立新文件时的权限遮罩)...160
12.28 unlink(删除文件)...160
12.29 utime(修改文件的存取时间和更改时间)161
12.30 utimes(修改文件的存取时间和更改时间) .......161
13 信号处理篇 错误!未定义书签。
13.1 alarm(设置信号传送闹钟).162
13.2 kill(传送信号给指定的进程)......163
13.3 pause(让进程暂停直到信号出现).......164
13.4 sigaction(查询或设置信号处理方式) .164
13.5 sigaddset(增加一个信号至信号集) .....166
13.6 sigdelset(从信号集里删除一个信号)..166
13.7 sigemptyset(初始化信号集)........166
13.8 sigfillset(将所有信号加入至信号集) ..167
13.9 sigismember(测试某个信号是否已加入至信号集里)...167
13.10 signal(设置信号处理方式) .....167
13.11 sigpending(查询被搁置的信号) ......168
13.12 sigprocmask(查询或设置信号遮罩)168
13.13 sleep(让进程暂停执行一段时间)....169
13.14 ferror(检查文件流是否有错误发生)........169
13.15 perror(打印出错误原因信息字符串) .......169
13.16 strerror(返回错误原因的描述字符串) .....170
13.17 mkfifo(建立具名管道)...171
13.18 pclose(关闭管道I/O) .....172
13.19 pipe(建立管道)......172
13.20 popen(建立管道I/O)......173
14 接口处理篇 错误!未定义书签。
14.1 accept(接受socket连线) ...175
14.2 bind(对socket定位) .175
14.3 connect(建立socket连线) .176
14.4 endprotoent(结束网络协议数据的读取)......178
14.5 endservent(结束网络服务数据的读取)........178
14.6 getsockopt(取得socket状态) .....179
14.7 htonl(将32位主机字符顺序转换成网络字符顺序).....179
14.8 htons(将16位主机字符顺序转换成网络字符顺序) ....180
14.9 inet_addr(将网络地址转成二进制的数字)..180
14.10 inet_aton(将网络地址转成网络二进制的数字) ........180
14.11 inet_ntoa(将网络二进制的数字转换成网络地址) ....181
14.12 listen(等待连接) ....181
14.13 ntohl(将32位网络字符顺序转换成主机字符顺序).183
14.14 ntohs(将16位网络字符顺序转换成主机字符顺序) 184
14.15 recv(经socket接收数据)........184
14.16 recvfrom(经socket接收数据)185
14.17 recvmsg(经socket接收数据) .186
14.18 send(经socket传送数据) .......187
14.19 sendmsg(经socket传送数据).187
14.20 sendto(经socket传送数据) ....188
14.21 setprotoent(打开网络协议的数据文件) ...190
14.22 setservent(打开主机网络服务的数据文件)......190
14.23 setsockopt(设置socket状态)..190
14.24 shutdown(终止socket通信) ...191
14.25 socket(建立一个socket通信) 191
15 环境变量篇 错误!未定义书签。
15.1 getenv(取得环境变量内容) ........193
15.2 putenv(改变或增加环境变量)....193
15.3 setenv(改变或增加环境变量).....194
16 终端控制篇 错误!未定义书签。
16.1 getopt(分析命令行参数)....195
16.2 isatty(判断文件描述词是否是为终端机) ....196
16.3 select(I/O多工机制) .196
16.4 ttyname(返回一终端机名称)......197
文章评论

共有 33 条评论

  1. dsimun 于 2016-04-29 14:01:16发表:

    有点多。。。眼花缭乱了

  2. 月是夜的明 于 2015-10-14 22:13:02发表:

    好详细啊啊谢谢楼主了

  3. dddrecall 于 2015-05-11 21:24:31发表:

    顶.......

  4. oscarwpm 于 2014-07-24 14:47:18发表:

    尼玛,多次扣了我的分,不说还不能下载

  5. oscarwpm 于 2014-07-24 14:42:46发表:

    看看哦

  6. devil5975 于 2014-07-24 10:03:37发表:

    Linux C编程常用API接口 函数Linux C编程常用API接口 函数Linux C编程常用API接口 函数

  7. devil5975 于 2014-07-24 10:03:33发表:

    Linux C编程常用API接口 函数Linux C编程常用API接口 函数

  8. devil5975 于 2014-07-24 10:03:29发表:

    Linux C编程常用API接口 函数Linux C编程常用API接口 函数

  9. devil5975 于 2014-07-24 10:03:25发表:

    Linux C编程常用API接口 函数Linux C编程常用API接口 函数

  10. devil5975 于 2014-07-24 10:03:17发表:

    Linux C编程常用API接口 函数Linux C编程常用API接口 函数Linux C编程常用API接口 函数Linux C编程常用API接口 函数Linux C编程常用API接口 函数

  11. devil5975 于 2014-07-24 10:03:14发表:

    Linux C编程常用API接口 函数Linux C编程常用API接口 函数

  12. devil5975 于 2014-07-24 10:03:11发表:

    Linux C编程常用API接口 函数Linux C编程常用API接口 函数

  13. devil5975 于 2014-07-24 10:03:09发表:

    Linux C编程常用API接口 函数Linux C编程常用API接口 函数

  14. devil5975 于 2014-07-24 10:03:05发表:

    Linux C编程常用API接口 函数Linux C编程常用API接口 函数

  15. devil5975 于 2014-07-24 10:03:03发表:

    Linux C编程常用API接口 函数

  16. devil5975 于 2014-07-24 10:03:00发表:

    Linux C编程常用API接口 函数Linux C编程常用API接口 函数

  17. devil5975 于 2014-07-24 10:02:57发表:

    Linux C编程常用API接口 函数Linux C编程常用API接口 函数

  18. devil5975 于 2014-07-24 10:02:53发表:

    Linux C编程常用API接口 函数Linux C编程常用API接口 函数Linux C编程常用API接口 函数

  19. devil5975 于 2014-07-24 10:02:45发表:

    Linux C编程常用API接口 函数Linux C编程常用API接口 函数Linux C编程常用API接口 函数

  20. devil5975 于 2014-07-24 10:02:39发表:

    Linux C编程常用API接口 函数Linux C编程常用API接口 函数

  21. devil5975 于 2014-07-24 10:02:33发表:

    Linux C编程常用API接口 函数

  22. devil5975 于 2014-07-24 10:02:30发表:

    Linux C编程常用API接口 函数Linux C编程常用API接口 函数Linux C编程常用API接口 函数

  23. devil5975 于 2014-07-24 10:02:23发表:

    Linux C编程常用API接口 函数

  24. devil5975 于 2014-07-24 10:02:19发表:

    Linux C编程常用API接口 函数Linux C编程常用API接口 函数Linux C编程常用API接口 函数Linux C编程常用API接口 函数

  25. devil5975 于 2014-07-24 10:02:14发表:

    Linux C编程常用API接口 函数

  26. devil5975 于 2014-07-24 10:02:07发表:

    Linux C编程常用API接口 函数

  27. devil5975 于 2014-07-24 10:02:00发表:

    Linux C编程常用API接口 函数Linux C编程常用API接口 函数

  28. luowanqian 于 2013-12-06 21:42:41发表:

    谢谢楼主分享

  29. dylyyc 于 2013-11-24 18:06:24发表:

    感谢楼主总结,楼主辛苦了。

  30. 邪龙之影 于 2013-11-23 10:26:56发表:

    如本人留言违反国家有关法律,请网络管理员及时删除本人跟贴。本回贴不暗示、鼓励、
    支持或映射读者作出生活方式、工作态度、婚姻交友、子女教育的积极或消极判断。

  31. dongyeslp 于 2013-11-23 08:32:22发表:

    可以用来速查

  32. hml1006 于 2013-11-23 01:32:28发表:

    可以用来速查

  33. hawayii 于 2013-11-22 19:46:10发表:

    有点多。。。眼花缭乱了