实现输出重定向,当用C标准printf打印 时,打印到指定的output.log文件
思路:
1)printf默认输出到标注输出文件描述符指向的终端
2)关闭标准输出文件描述符,那么新建文件的文件描述符就替代了标准输出文件描述符。
1. #include <sys/stat.h> 2. #include <sys/types.h> 3. #include <fcntl.h> 4. #include <unistd.h> 5. #include <stdlib.h> 6. #include <string.h> 7. #include <stdio.h> 8. 9. int main(void) 10. { 11. close(STDOUT_FILEN0); 12. umask(0); 13. int fd = open("output.log", O_CREAT | O_WRONLY, 0777); 14. 15. printf("hello world\n"); 16. }