码迷,mamicode.com
首页 > 系统相关 > 详细

[LINUX]重定向

时间:2018-11-17 19:22:03      阅读:212      评论:0      收藏:0      [点我收藏+]

标签: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]

 

 

 

[LINUX]重定向

标签:code   代码   stdio.h   dwr   文件   define   示例   read   linu   

原文地址:https://www.cnblogs.com/yiyide266/p/9974786.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!