习题3.2的要求是不使用fcntl()而编写一个同dup2()功能相同的函数.直觉上是不断使用dup()直到返回指定的文件描述符. #include <stdio.h>#include <stdlib.h>#define OPEN_MAX 63 int my_dup2(int filedes,int filedes2); intmain(int argc, char* argv[]){  int fd,fd2;  char buf[] = "It work!\n"…
看书的时候发现这个习题没有答案,于是就想把自己做的结果贴上来,和大家分享分享! 首先把题目贴上来吧: /*********** 8.10节中提及POSIX.1要求在调用exec时关闭打开的目录流.按下列方法对此进行验证,对根目录调用opendir,查看在你的系统上实现的DIR结构,然后打印执行时关闭标志.接着open同一目录读取并打印执行时关闭标志 ***********/ 首先说,关于执行时关闭标志的作用,JesseEisen的这篇博客已经讲解的非常好了,(传送门在这里)我就不在这里献丑了,我…
int mydup2(int oldfd, int newfd) {     int tfd = 0;     if (newfd < 0)     {         err_sys("newfd < 0");     }     if (newfd == oldfd)     {         return oldfd;     }       while(1)     {         tfd = dup(oldfd);           if (tfd ==…
原文网址:http://m.blog.csdn.net/blog/u014488381/42556509 原题:如果使用追加标志打开一个文件以便读.写,能否仍用 lseek 在任一为止开始读?能否用 lseek 更新文件中任一部分的数据? 验证程序如下: #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <fcntl.h> #include <string.h>…
5.4 下面的代码在一些机器上运行正确,而在另外一些机器运行时出错,解释问题所在? #include <stdio.h> int main( void ) { char c; while( ( c = getchar() ) != EOF ) putchar( c ); } 答:这是一个比较常见的错误.getc以及getchar的返回值是整型,而不是字符型.由于EOF经常定义为-1,那么如果系统使用的是有符号的字符类型,程序还可以正常工作.但如果使用的是无符号字符类型,那么返回的EOF被保存到…
实现的时候用到系统原来的dup函数 // mydup2.c // 2015/08/17 Lucifer Zhang version1.0 // write my own dup2 function // use dup() function when inplementation #include <unistd.h> // include dup() #include <stdio.h> #include <stdlib.h> #define OPEN_MAX 256…
实现的时候用到系统原来的dup函数 // mydup2.c // 2015/08/17 Lucifer Zhang version1.0 // write my own dup2 function // use dup() function when inplementation #include <unistd.h> // include dup() #include <stdio.h> #include <stdlib.h> #define OPEN_MAX 256…
#习题38 区分列表和字符串,用到了split(字符串专用函数),join.append.pop(这些是list操作函数) ten_things = "Apples Oranges Crows Telephone Liht Sugar" print "Wait there is not 10 things in that list, let's fix that." stuff=ten_things.split(' ') more_stuff = ["Da…
设超弹性材料的贮能函数 $\hat W$ 满足 (4. 19) 式, 证明由它决定的 Cauchy 应力张量 ${\bf T}$ 满足各向同性假设 (4. 7) 式. 证明: 若贮能函数 $W$ 满足 ``$\hat W({\bf F}{\bf Q})=W({\bf F})$ 对任意正交阵 ${\bf Q}$'', 则 $$\beex \bea p_{ij}({\bf F})&=\cfrac{\p \hat W({\bf F})}{\p f_{ij}}\\ &=\cfrac{\p \hat…
dup 和 dup2   dup和dup2,都是用来将一个文件描述符复制给另一个文件描述符上,这两个文件描述符都指向同一个文件状态标志上. 只是文件描述符的大小不一样,dup所执行下的复制,肯定是返回的系统中最小的可用文件描述符.而dup2.可以自定义文件描述符的.系统的0.1.2描 述符已经被占用.所以用dup所复制的描述符是不能是这三个的.我们可以将这三个复制给其他的文件描述符. 函数描述 int dup(int filedes) int dup2(int filedes, int file…