标签:code 代码 stdio.h dwr 文件 define 示例 read linu
概要
重定向用于把内容输入到进程的文件描述符中
语法
1.以O_WRONLY|O_CREAT模式打开FILE,绑定到COMMAND进程的文件描述符FD
[COMMAND] [FD]> [FILE]
2.以O_WRONLY|O_APPEND|O_CREAT模式打开FILE,绑定到COMMAND进程的文件描述符FD
[COMMAND] [FD]>> [FILE]
3.以O_RDONLY模式打开FILE,绑定到COMMAND进程的文件描述符FD
[COMMAND] [FD]< [FILE]
示例代码,把文件重定向到stdin,进程内读取文件内容,并且复制到新的文件上:
#include <unistd.h> #include <fcntl.h> #include <string.h> #include <stdio.h> int main(void) { #define BUFFER 4096 char err_1[] = "Opps~an error occurred when copy."; char buf[BUFFER]; short rnum = 0; char copy_1_pth[] = "./c14_copy.dat"; int copy_1_fd = open(copy_1_pth, O_RDWR|O_CREAT, 0777); while((rnum = read(STDIN_FILENO, buf, BUFFER)) != 0){ if(rnum != write(copy_1_fd, buf, rnum)){ write(STDERR_FILENO, err_1, strlen(err_1)); break; } } printf("Okay.\n"); }
4.以O_RDWR模式打开FILE,绑定到COMMAND进程的文件描述符FD
[COMMAND] [FD]<> [FILE]
标签:code 代码 stdio.h dwr 文件 define 示例 read linu
原文地址:https://www.cnblogs.com/yiyide266/p/9974786.html