利用文件描述符及exec系统函数实现简单的cp


#include "./apue.h" /*包含必需的头文件*/

int main(int argc, char* argv[]){
    if(argc != 3){
        fprintf(stderr,"usage: %s file_src file_dst\n", argv[0]);
        exit(EXIT_FAILURE);
    }
    close(0); /*关闭标准输入*/
    open(argv[1], O_RDONLY);/*此处打开的文件指向描述符0,即标准输入*/
    close(1);/*关闭标准输出*/
    open(argv[2], O_RDWR|O_CREAT,0644);/*此处打开的文件指向描述符1,即标准输出*/
    execlp("cat","cat",NULL);/*cat命令从标准输入读取数据,输出到标准输出*/
    return 0;
}

你可能感兴趣的:(文件描述符,cp,execlp)