Linux & Unix C程序员参考大全PDF电子书下载
- 电子书积分:14 积分如何计算积分?
- 作 者:森林图书工作室编
- 出 版 社:北京:国防工业出版社
- 出版年份:2001
- ISBN:7118025593
- 页数:426 页
第1章 错误报告 1
1.1 错误检查 1
1.2 错误代码 1
1.3 错误信息 7
strerror() 7
strerror_r() 7
perror() 7
malloc() 10
2.2 无限制的分配 10
2.1 动态内存分配概念 10
第2章 内存分配 10
free() 12
cfree() 12
realloc() 13
calloc() 14
mallopt() 15
mcheck() 15
mprobe() 16
mallinfo() 17
2.3 obstack 18
obstack_alloc() 19
obstack_init() 19
obstack_copy() 20
obstack_copy0() 20
obstack_free() 20
obstack_blank() 21
obstack_grow() 21
obstack_grow0() 21
obstack_int_grow() 22
obstack_finish() 22
obstack_ptr_grow() 22
obstack_lgrow() 22
obstack_object_size() 23
obstack_room() 23
obstack_lgrow_fast() 23
obstack_·ptr_grow_fast() 23
obstack_int_grow_fast() 24
obstack_blank_fast() 24
obstack_base() 25
obstack_next_free() 25
2.4 变量式自动存储 25
alloca() 26
r_alloc() 27
r_alloc_free() 27
2.5 重新分配 27
r_re_alloc() 28
第3章 字符及字符串处理 29
3.1 字符处理 29
islower() 29
isupper() 29
isalpha() 30
isdigit() 30
isalnum() 30
isxdigit() 30
isblank() 31
isgraph() 31
ispunct() 31
isspace() 31
isprint() 32
iscntrl() 32
3.2 字符转换 32
tolower() 33
toupper() 33
toascii() 33
_tolower() 33
3.3 字符串处理 34
_toupper() 34
strlen() 35
memcpy() 35
memmove() 36
memccpy() 36
memset() 36
strcpy() 37
strncpy() 37
strdup() 37
stpcpy() 38
stpncpy() 38
strndup() 38
strdupa() 39
strndupa() 40
strcat() 40
strncat() 41
bcopy() 41
bzero() 42
memcmp() 42
strcmp() 43
strcasecmp() 43
strncasecmp() 43
strcoll() 44
bcmp() 44
strncmp() 44
strxfrm() 45
memchr() 47
strchr() 47
index() 48
strrchr() 48
rindex() 48
strstr() 48
memmem() 49
strspn() 49
strtok() 50
strcspn() 50
strpbrk() 50
Strtok_r() 51
strsep() 52
第4章 输入/输出 53
4.1 文件 53
clearerr() 54
feof() 54
ferror() 55
ftell() 55
fseek() 55
rewind() 56
fgetpos() 57
fsetpos() 57
fflush() 57
setvbuf() 58
setbuf() 58
setbuffer() 59
setlinebuf() 59
4.2 标准流输入输出 59
fopen() 60
fclose() 61
freopen() 61
fcloseall() 62
fputc() 62
putc() 63
putchar() 63
fputs() 63
puts() 64
putw() 64
fgetc() 64
getc() 65
getchar() 65
getline() 66
getw() 66
getdelim() 67
fgets() 67
gets() 68
ungetc() 68
fread() 69
fwrite() 69
4.3 格式化输出 70
printf() 72
fprintf() 72
snprintf() 73
sprintf() 73
asprintf() 74
obstack_printf() 74
vprintf() 75
vfprintf() 75
vsprintf() 75
vsnprintf() 75
vasprintf() 76
obstack_vprintf() 76
parse_printf_format() 77
4.4 格式化输入 79
scanf() 80
sscanf() 82
vscanf() 82
fscanf() 82
vfscanf() 83
vsscanf() 83
第5章 低级输入输出 84
5.1 低级输入输出函数 85
open() 85
close() 86
read() 86
creat() 86
write() 87
lseek() 88
fdopen() 90
fileno() 90
select() 90
fcntl() 92
dup() 94
dup2() 94
5.2 低级输入输出的宏 95
5.2.1 打开文件操作方式 95
5.2.2 输入输出操作模式 96
5.2.3 文件状态标志 97
5.2.4 文件锁 97
5.2.5 中断驱动输入 99
第6章 文件系统 101
6.1 目录操作 101
getcwd() 101
getwd() 102
chdir() 102
6.2.1 目录项的格式 103
6.2 访问目录 103
6.2.2 打开目录流 104
opendir() 104
6.2.3 读和关闭目录流 104
readdir() 104
readdir_r() 105
closedir() 105
6.2.4 目录流的随机进入 106
rewinddir() 106
telldir() 106
alphasort() 107
scandir() 107
6.2.5 扫描目录内容 107
seekdir() 107
6.3 硬链接 108
link() 108
6.4 符号链接 109
symlink() 109
readlink() 110
6.5 删除文件 111
unlink() 111
rename() 112
6.6 重命名文件 112
remove() 112
rmdir() 112
6.7 创建目录 113
mkdir() 113
6.8 文件属性 114
6.8.1 文件属性的意义 114
6.8.2 读取文件属性 116
stat() 116
fstat() 116
lstat() 116
6.8.3 查看文件类型 117
chown() 118
6.8.4 文件所有者 118
6.8.5 文件模式的访问权限位 119
fchown() 119
6.8.6 访问文件 120
6.8.7 分配文件权限 121
umask() 121
getumask() 121
chmod() 122
fchmod() 122
6.8.8 检查文件的访问权限 123
access() 123
utime() 124
6.8.9 文件时间 124
utimes() 125
6.9 特殊文件的生成 125
mknod() 126
6.10 临时文件 126
tmpfile() 126
tmpnam() 127
tmpnam_r() 127
tempnam() 127
mkstemp() 128
mktemp() 128
7.1 创建管道 130
pipe() 130
第7章 管道和FIFO 130
7.2 建立子进程的管道 132
popen() 132
pclose() 133
7.3 FIFO特殊文件 134
mkfifo() 134
7.4 微量的管道输入/输出 134
8.1 socket概念 135
第8章 socket 135
8.2 socket地址 136
bind() 138
getsockname() 138
8.3 Internet名称空间 139
Inet_aton() 144
inet_addr() 144
inet_network() 144
inet_ntoa() 144
inet_netof() 145
inet_pton() 145
inet_lnaof() 145
inet_makeaddr() 145
inet_ntop() 146
gethostbyname() 146
gethostbyname2() 146
gethostbyaddr() 147
sethostent() 147
gethostent() 147
setservent() 148
getservbyport() 148
getservbyname() 148
endhostent() 148
getservent() 149
endservent() 149
htons() 149
ntohs() 149
htonl() 150
ntohl() 150
getprotobyname() 150
getprotobynumber() 150
getprotoent() 151
endprotoent() 151
setprotoent() 151
8.4 打开和关闭socket 153
socket() 153
shutdown() 153
socketpair() 154
connect() 155
listen() 156
accept() 156
getpeername() 157
send() 157
recv() 158
sendto() 166
8.5 数据包操作 166
recvfrom() 167
8.6 socket选项 170
getsockopt() 172
setsockopt() 172
8.7 网络数据库 173
getnetbyname() 173
getnetbyaddr() 173
setnetent() 173
getnetent() 174
endnetent() 174
9.2 I/O队列 175
ttyname() 175
第9章 低级终端接口 175
9.1 识别终端 175
isatty() 175
9.3 输入的两种模式 176
9.4 终端模式 176
9.4.1 终端模式的数据类型 176
9.4.2 终端模式函数 177
tcgetattr() 177
tcsetattr() 178
9.4.3 终端模式的正确设置 178
9.4.4 输入模式 179
9.4.6 控制模式 181
9.4.5 输出模式 181
9.4.7 本地模式 183
9.4.8 线速度 184
cfgetospeed() 185
cfgetispeed() 185
cfsetospeed() 185
cfsetispeed() 185
cfsetspeed() 186
9.4.9 特殊字符 186
9.4.10 非规范输入 190
tcsendbreak() 191
cfmakeraw() 191
9.5 线控制函数 191
tcdrain() 192
tcflush() 192
tcflow() 193
第10章 数学函数 196
10.1 定义域和值域错误 196
10.2 三角函数 197
sin() 197
cos() 197
tan() 197
atan() 198
atan2() 198
10.3 反三角函数 198
acos() 198
asin() 198
10.4 幂函数和对数函数 199
exp() 199
log() 199
log10() 199
hypot() 200
cbrt() 200
sqrt() 200
pow() 200
expm1() 201
log1p() 201
10.5 双曲函数 201
sinh() 201
cosh() 201
acosh() 202
atanh() 202
10.6 伪随机码 202
asinh() 202
tanh() 202
10.6.1 ISO C随机码函数 203
rand() 203
srand() 203
10.6.2 BSD随机码函数 203
random() 204
srandom() 204
initstate() 204
setstate() 204
finite() 205
isinf() 205
isnan() 205
10.7 非数值 205
10.8 浮点数的判断 205
infnan() 206
10.9 绝对值 206
abs() 206
labs() 206
fabs() 207
cabs() 207
10.10 标准函数 207
frexp() 207
logb() 208
copysign() 208
scalb() 208
ldexp() 208
10.11 取整和求余函数 209
ceil() 209
floor() 209
rint() 209
modf() 209
fmod() 210
drem() 210
10.12 整数的除法 210
strtol() 211
10.13.1 整数的解析 211
div() 211
10.13 数字的解析 211
ldiv() 211
strtoul() 212
strtoq() 212
strtoll() 213
strtouq() 213
strtoull() 213
atol() 213
atoi() 213
strtof() 215
strtod() 215
10.13.2 浮点数的解析 215
strtold() 216
atof() 216
第11章 搜索、排序和模式匹配 217
11.1 搜索和排序 217
bsearch() 217
qsort() 217
11.2 模式匹配 221
fnmatch() 222
glob() 223
regcomp() 225
regexec() 226
regfree() 227
regerror() 227
wordexp() 228
wondfree() 229
第12章 日期和时间 232
12.1 处理器时间 232
12.1.1 查询基本的CPU时间 232
12.1.2 详细的查询流逝的CPU时间 233
times() 233
clock() 233
12.2 日历时间 234
12.2.1 单个日历时间 234
difftime() 234
time() 235
12.2.2 高精度的日历时间 235
gettimeofday() 236
settimeofday() 236
adjtime() 237
12.2.3 分解的时间 237
gmtime() 238
localtime() 238
12.2.4 格式化日期和时间 239
asctime() 239
ctime() 239
mktime() 239
strftime() 240
12.2.5 用TZ指定时区 243
12.2.6 时区的函数和变量 245
tzset() 245
12.3 设置警报 246
getitimer() 247
setitimer() 247
alarm() 248
12.4 等待状态 248
sleep() 248
12.5 资源的使用 249
getrusage() 249
12.6 限制资源的使用 251
getrlimit() 251
setrlimit() 251
getpriority() 253
setpriority() 253
12.7 进程的权限 253
nice() 254
第13章 扩展字符 255
13.1 扩展字符串的转换 255
mbstowcs() 256
wcstombs() 256
mblen() 257
mbtowc() 257
wctomb() 258
13.2 地区化和国际化 261
setlocale() 264
localeconv() 266
第14章 信号处理 268
14.1 标准信号 268
14.1.1 程序错误信号 268
14.1.2 中断信号 270
14.1.3 报警信号 271
14.1.4 异步I/O信号 271
14.1.5 作业控制信号 272
14.1.6 操作错误信号 273
14.1.7 杂项信号 273
psignal() 274
strsignal() 274
14.1.8 信号信息 274
14.2 指定信号行为 275
14.2.1 基本信号处理 275
signal() 275
ssignal() 277
14.2.2 高级信号处理 277
sigaction() 277
14.2.3 sigaction函数的标志 279
14.3 产生信号 279
raise() 282
14.3.1 给自己发信号 282
gsignal() 283
14.3.2 给其他进程发送信号 283
kill() 284
killpg() 285
14.4 阻塞信号 286
14.4.1 信号集 286
sigemptyset() 287
sigfillset() 287
sigaddset() 287
sigprocmask() 288
sigismember() 288
sigdelset() 288
14.4.2 检查未决信号 290
sigpending() 290
14.5 等待信号 292
pause() 292
sigsuspend() 293
14.6 使用分离的信号栈 295
sigaltstack() 296
sigstack() 296
14.7 BSD信号处理 297
sigblock() 298
sigsetmask() 298
sigvec() 298
siginterrupt() 298
sigpause() 299
第15章 进程的启动和终止 300
15.1 程序变量 300
15.1.1 程序变量语法惯例 300
15.1.2 程序选项的解析 301
getopt() 302
15.1.3 长选项的解析 304
getopt_long() 305
15.1.4 子选项的解析 307
getsubopt() 308
15.2 环境变量 310
15.2.1 环境变量的访问 310
getenv() 310
putenv() 311
15.2.2 标准环境变量 311
15.3 程序的终止 312
15.3.1 正常中断 312
exit() 312
15.3.3 退出时的清除 313
15.3.2 Exit状态值 313
atexit() 314
on_exit() 314
15.3.4 程序的异常中断 314
abort() 315
15.3.5 内部中断 315
_exit() 315
15.4 运行一个命令 315
system() 316
15.5 生成进程概念 316
fork() 317
15.7 创建进程 317
getpid() 317
getppid() 317
15.6 进程的识别 317
vfork() 318
15.8 执行一个文件 318
execv() 319
execl() 319
execve() 319
execle() 319
execlp() 320
execvp() 320
15.9 进程的完成 321
waitpid() 321
wait() 322
wait4() 323
15.10 进程完成的状态 323
15.11 BSD的处理等待函数 324
wait3() 324
第16章 作业控制 326
16.1 作业控制的概念 326
16.3 进程的控制终端 327
16.4 对控制终端的访问 327
16.2 可选择的作业控制 327
16.5 被孤立的进程群 328
16.6 作业控制外壳的执行 328
16.6.1 外壳的数据结构 328
16.6.2 外壳的初始化 329
16.6.3 作业的启动 330
16.6.4 前台和后台作业 331
16.6.5 停止和中断作业 332
16.7.2 进程群函数 336
ctermid() 336
16.7.1 识别控制终端 336
16.7 作业控制函数 336
16.6.6 继续停止的作业 336
setsid() 337
setpgid() 337
setpgrp() 338
16.7.3 控制终端的访问函数 338
tcgetpgrp() 338
tcsetpgrp() 339
第17章 系统数据库和名称服务转换 340
17.1 NSS基本概念 340
17.2.1 在NSS配置文件内的服务程序 341
17.2 NSS配置文件 341
17.2.2 NSS配置中的操作 342
17.2.3 NSS配置文件的注意点 342
17.3 NSS模块的内部 343
17.3.1 NSS模块的命名方法 343
17.3.2 NSS模块内函数的接口 343
17.4 NSS的扩展 344
17.4.1 向NSS增加一个服务程序 345
17.4.2 NSS模块函数的内部 345
18.1 用户和组ID号 347
18.2 进程的角色 347
第18章 用户和组 347
18.3 更改进程角色的原因 348
18.4 应用程序如何更改角色 348
18.5 读取进程的角色 348
getuid() 349
getgid() 349
geteuid() 349
getegid() 349
getgroups() 349
18.6 设置用户ID号 350
setuid() 350
setgid() 351
18.7 设置组ID号 351
setreuid() 351
setregid() 352
setgrouds() 352
initgrouds() 352
18.8 允许或者禁止setuid的访问 353
18.9 编写setuid程序的提示 355
18.10 识别登录的用户 355
18.11.1 描述用户的数据结构 356
18.11 用户数据库 356
cuserid() 356
getlogin() 356
18.11.2 查找用户 357
getpwuid() 357
getpwuid_r() 357
getpwnam() 358
getpwnam_r() 358
18.11.3 扫描所有用户列表 358
fgetpwent() 358
setpwent() 359
getpwent() 359
fgetpwent_r() 359
getpwent_r() 360
endpwent() 360
18.11.4 写入一个用户项 360
putpwent() 360
18.12 组数据库 361
18.12.1 描述组的数据结构 361
18.12.2 查找组 361
getgrgid() 361
getgrgid_r() 361
18.12.3 扫描所有组列表 362
fgetgrent() 362
getgrnam() 362
getgrnam_r() 362
fgetgrent_r() 363
setgrent() 363
getgrent() 363
getgrent_r() 364
endgrent() 364
18.13 网络组数据库 364
18.13.1 网络组数据 364
getnetgrent() 365
getnetgrent_r() 365
18.13.2 查找网络组 365
setnetgrent() 365
endnetgrent() 366
18.13.3 判断网络组的从属关系 366
innetgr() 366
第19章 系统信息和配置参数 369
19.1 主机识别 369
gethostname() 369
sethostname() 370
gethostid() 370
sethostid() 370
19.3 一般的容量限制 371
19.2 识别硬件/软件类型 371
uname() 371
19.4 所有的系统选项 373
19.5 支持POSIX的版本 374
19.6 sysconf的使用 374
19.6.1 sysconf的定义 374
sysconf() 374
19.6.2 sysconf参数的常量 375
19.7 一般容量限制的最小值 377
19.8 文件系统容量的限制 378
19.10 文件系统限制的最小值 379
19.9 文件支持的附加特征 379
19.11 pathconf的使用 380
pathconf() 380
fpathconf() 380
19.12 工具程序的容量限制 381
19.13 工具限制的最小值 382
19.14 字符串值参数 382
confstr() 382
第20章 函数库内的C语言工具 384
20.1 内部一致性的检查 384
20.2.2 variadic函数的定义和使用 385
20.2.1 使用variadic函数的原因 385
20.2 variadic函数 385
20.2.3 旧类型的variadic函数 388
20.3 空指针常量 388
20.4 重要的数据类型 389
20.5 数据类型的检测 389
20.5.1 计算一个整型数据类型的宽度 389
20.5.2 整型数的范围 390
20.5.3 浮点型的宏 391
20.5.4 结构内元素偏移量的检测 394
附录A 函数名和宏索引 396
附录B 变量和常量宏索引 411
- 《BBC人体如何工作》(英)爱丽丝.罗伯茨 2019
- 《计算机组成原理解题参考 第7版》张基温 2017
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《慢性呼吸系统疾病物理治疗工作手册》(荷)瑞克·考斯林克(RikGosselink) 2020
- 《2014年全新版浙江省人事考试参考用书 申论》曹文彪 2013
- 《中国生态系统定位观测与研究数据集 森林生态系统卷 云南西双版纳》邓晓保·唐建维 2010
- 《掌控工作》邵文瀚著 2020
- 《社会工作专业英语》俞炎燊 2019
- 《高等学校“十三五”规划教材 C语言程序设计》翟玉峰责任编辑;(中国)李聪,曾志华,江伟 2019
- 《改革进程中的刑事诉讼程序与证据问题研究 基于警察的视角》谢波 2019
- 《东方杂志 第110册 第25卷 第一至四号 1928年1月-1928年2月》上海书店出版社编 2012
- 《清明 我们的节日》冯骥才编 2017
- 《现代水泥技术发展与应用论文集》天津水泥工业设计研究院有限公司编 2019
- 《甘肃省档案馆指南》甘肃省档案馆编 2018
- 《莼江曲谱 2 中国昆曲博物馆藏稀见昆剧手抄曲谱汇编之一》郭腊梅主编;孙伊婷副主编;孙文明,孙伊婷编委;中国昆曲博物馆编 2018
- 《花时间 我的第一堂花艺课 插花基础技法篇》(日)花时间编辑部编;陈洁责编;冯莹莹译 2020
- 《中央财政支持提升专业服务产业发展能力项目水利工程专业课程建设成果 设施农业工程技术》赵英编 2018
- 《东方杂志 第94册 第22卷 第四至七号 1925年2月-1925年4月》上海书店出版社编 2012
- 《365奇趣英语乐园 世界民间故事》爱思得图书国际企业 2018
- 《远去的老调》经典文库编委会编 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《抗战三部曲 国防诗歌集》蒲风著 1937
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017
- 《新工业时代 世界级工业家张毓强和他的“新石头记”》秦朔 2019
- 《智能制造高技能人才培养规划丛书 ABB工业机器人虚拟仿真教程》(中国)工控帮教研组 2019
- 《陶瓷工业节能减排技术丛书 陶瓷工业节能减排与污染综合治理》罗民华著 2017