33 int fd=open("./err.txt",O_WRONLY|O_CREAT|O_APPEND,0666);
34 int num=dup(2);
35 dup2(fd,2);
36 if(fd==0)
37 {
38 perror("reason");
39 return -1;
40 }
41 int rfd=open("./dup.c",O_RDONLY);
42 if(rfd==0)
43 {
44 perror("reason");
45 return -1;
46 }
47 int wfd=open("./11.c",O_WRONLY|O_CREAT|O_TRUNC,0666);
48 if(wfd==0)
49 {
50 perror("reason");
51 return -1;
52 }
53 while(1)
54 {
55 char str[10]="";
56 int retval=read(rfd,str,10);
57 if(retval==0)
58 {
59 break;
60 }
61 write(wfd,str,10);
62 }
63 //fflush(stderr);
64 dup2(num,2);
65
66 close(fd);
67 close(rfd);
68 close(wfd);
dup/dup2
最新推荐文章于 2024-09-15 09:47:04 发布