本文共 1239 字,大约阅读时间需要 4 分钟。
fd=4
#include#include "csapp.h"int main(int argc, char* argv[]) { int n; char buf[MAXBUF]; while ((n = Rio_readn(STDIN_FILENO, buf, MAXBUF)) != 0) Rio_writen(STDOUT_FILENO, buf, n); return 0;}
#include#include "csapp.h"int main(int argc, char* argv[]) { struct stat stat; char *type, *readok; int fd; if (argc <= 1) fd = 0; // stdin else fd = atoi(argv[1]); Fstat(fd, &stat); if (S_ISREG(stat.st_mode)) type = "regular"; else if (S_ISDIR(stat.st_mode)) type = "dir"; else type = "other"; if ((stat.st_mode & S_IRUSR)) readok = "yes"; else readok = "no"; printf("type: %s, read: %s\n", type, readok); return 0;}
if (Fork() == 0) { Dup2(0, 3); Execve("fstatcheck", argv, envp);}
#include#include "csapp.h"int main(int argc, char* argv[]) { int n; rio_t rio; char buf[MAXLINE]; if (argc == 2) { int fd = Open(argv[1], O_RDONLY, 0); while ((n = Rio_readn(fd, buf, MAXBUF)) != 0) Rio_writen(STDOUT_FILENO, buf, n); exit(0); } Rio_readinitb(&rio, STDIN_FILENO); while ((n = Rio_readlineb(&rio, buf, MAXLINE)) != 0) Rio_writen(STDOUT_FILENO, buf, n); return 0;}
转载地址:http://wfwai.baihongyu.com/