Q5.1 Implement setbuf using setvbuf. Q5.2 Type in the program that copies a file using line-at-a-time I/O (fgets and fputs) from Figure 5.5, but use a MAXLINE of 4. What happens if you copy lines
原创
2015-11-21 15:01:10
1177阅读
Q6.1 如果系统使用阴影文件,那么如何取得加密口令?If the system uses a shadow file and we need to obtain the encrypted password, how do we do so ?我们可以用 struct spwd *getspnam(const char *name); 去/etc/shadow 里去查看用户密码部分。
原创
2015-11-24 17:52:01
1006阅读
Q7.1 在Intel X86系统上,使用Linux,如果执行一个输出“hellow world"的程序但不调用exit或者return,则程序返回的代码为13,(用shell检查),解释其原因。因为hellow world 一共是13个字符,最后的$?值是printf("hellow world\n"); 后的值。 如果打印21个字符最后返回码就是21. [root@clst
原创
2015-11-26 11:37:11
2686阅读
Q8.1 在图8-3程序中,如果用exit调用代替_exit调用,那么可能使标准输出关闭,是printff返回-1.修改该程序验证在你所使用的系统上是否会产生此种结果。如果并非如此,你怎么处理才能得到类似的结果呢?Q8.2 回忆图7-6中典型的存储空间布局,由于对应于每个函数调用的栈帧通常存储在栈中,并且由于调用vfork后,子进程运行在父进程的地址空间中,如果不是在main函数中而是在另一个函数
原创
2015-12-03 11:43:18
899阅读
Q1. 用stat 函数替换图4-3程序中的lstat 函数,如若命令行参数之一是符号链接,会发生什么变化?改之前:[root@clstore3 ~]# ./lstat /etc/passwd /etc /dev/log /dev/tty /dev/sr0 /dev/cdrom/etc/passwd: regular/etc: directory/dev/log: socket/dev/tty:
原创
2015-11-13 15:50:46
1433阅读
题:如果使用追加标志打开一个文件以便读、写,能否仍用 lseek 在任一为止开始读?能否用 lseek 更新文件中任一部分的数据?验证程序如下:#include #include #includ...
转载
2015-02-08 21:14:00
50阅读
2评论
学习,记录。
int dup2(int oldhandle, int newhandle);
函数功能:
复制文件句柄,newhandle指定的dup2和dup的区别就是可以用newfd参数指定新描述符的数值,如果newfd已经打开,则先将其关闭。如果newfd等于oldfd,则dup2返回newfd, 而不关闭它。dup2函数返回的新文件描述符同样
原创
2012-03-28 22:40:40
3415阅读
点赞
3评论
【以apue第三版为蓝本】目录第1章 UNIX基础知识第2章 UNIX标准及实现第3章 文件IO第4章 文件和目录第5章 标准I/O库第6章 系统数据文件和信息第7章 进程环境第8章 进程控制第9章 进程关系第10章 信号第11章 线程第12章 线程控制第13章 守护进程第14章 高级I/O第15章 进程间通信第16章 网络IPC:套接字第17章 高级进程间通信第18章 终端I/O第19章 伪终端
原创
2015-07-09 08:58:41
4016阅读
简介本文总结了个人,一个数字,对应称号《APUE》第一版的每一章,但是,独立的二级标题和书,人需求进行编写。3.文件I/O本章所说明的函数常常被称之为不带缓存的I/O(与第5章中说明的标准I/O函数相对比)3.1文件I/O函数大多数UNIX文件I/O仅仅需用到5个函数:open、read、write...
转载
2015-10-24 15:21:00
85阅读
没有缓冲的I/O
1、open函数
int open(const char *pathname, int flag, .../* mode_t mode*/)
文件打开成功返回文件描述符(非负数),失败返回-1
flag常用的选项有:
O_RDONLY 只读打开
O_WRONLY&
原创
2012-09-15 22:50:13
567阅读
先在这个网站 http://www.apuebook.com/src.tar.gz 下载相应的版本tar.gz格式的源码包然后解压到/home/xxx/目录中然后进入目录apue.2e,把文件 Make.defines.linux 中的 WKDIR=/home/xxx/apue.2e 修改为
WKDIR=/home/ray/apue.2e
,然后再进入apue.2e目录下的std目录
转载
精选
2015-02-10 16:27:09
563阅读
apue 最后两章都是通过一个完整的实例来解释一些 linux 功能,第20章就是通过一个数据库实例来解释文件锁的使用, 说实话,当时没兴趣,因为满页都是源码和解析,有点看不下去。但是再拾起来硬着头皮看的时候,发现这哪里是个小 demo,明明是个五脏俱全的 key-value 数据库嘛, 而且这个数 ...
转载
2021-04-23 23:11:50
230阅读
2评论
#ifndef _APUE_H
#define _APUE_H
#include <stdarg.h>
#define _XOPEN_SOURCE 600
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/termios.h>
#ifndef T
转载
2011-07-10 14:51:57
698阅读
上官科技周末班 不知 如何。。待定。
原创
2015-04-24 15:54:48
265阅读
20+ 篇与 apue 相关的文章按原章节目录组织起来,方便系统阅读与 apue 相关的一系列文章比较庞杂,按原书目录整理了一下,形成目录,方便系统性阅读。另外这些文章是在我快读完的时候开始写的,之前的一些章节还多有遗漏,后面慢慢补上。chapter 1: UNIX 基础知识chapter 2: UNIX 标准化及实现[apue] sysconf 的四种返回状态[apue] 一个快速确定新系统上各
转载
2020-02-14 14:38:00
248阅读
2评论
《UNIX环境高级编程》中apue.h的问题运行程序清单1-1(列出一个目录中的所有文件) 提示 "错误:apue.h:没有那个文件或目录".很是受打击,果断google解决之。 apue.h是作者自定义的一个头文件,包括程序所需的常用头文件及出错处理函数。所以因该将它放入系统头文件中(Linux下是 /u
原创
2017-04-07 23:31:59
839阅读
apue读书笔记之apue.h的设置学习apue时,程序都有一个共同的头文件apue.h。那么该如何设置呢?本文是apue版本为第三版。首先去图书官方网址下载对应的源码tar包。地址为:http://www.apuebook.com/code3e.html解压tar包。进入目录执行make 命令。一般会出现关于“heapsort”的错误。这时需要安装两个包。分别是libbsd-0.6.0-1.el
原创
2016-12-03 09:31:58
1045阅读
APUE 线程 - 程序清单
程序清单11-1 打印线程ID#include "util.h"
#include<pthread.h>
pthread_t ntid;
void
printids(const char *s)
{
pid_t pid;
pthread_t tid;
pid = getpid();
tid = pthread_self();
//之所
转载
2017-07-19 13:59:00
88阅读
2评论
APUE信号-程序汇总 近期重看APUE,发现对于非常多程序的要领还是没有全然理解。所以梳理下便于查看,并且有非常多值得思考的问题。 程序清单10- 1 捕获 SIGUSR1 和 SIGUSR2的简单程序 #include "util.h" static void sig_usr(int); int
转载
2017-04-12 13:31:00
100阅读
2评论
[u1@h1 apue.3e]$ makegcc -ansi -I../include -Wall -DLINUX -D_GNU_SOURCE -c -o rwlock.o rwlock.cgcc -ansi -I../include -Wall -DLINUX -D_GNU_SOURCE timedlock.c -o timedlock -L../
转载
精选
2015-02-12 11:44:30
1029阅读