echo的实现

#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>

const int BUFFSIZE=4096;

int main(int argc, char *argv[]) {
    int n;
    char buf[BUFFSIZE];

    while((n=read(STDIN_FILENO, buf, BUFFSIZE))>0) {
        if(write(STDOUT_FILENO, buf, n) != n) {
            fprintf(stderr, "write error.\n");
            exit(-1);
        }
    }
    if(n<0) {
        fprintf(stderr, "write error.\n");
        exit(-1);
    }

    exit(0);
}

 STDIN_FILENO   标准输入的文件描述符

 STDOUT_FILENO 标准输出的文件描述符

posted @ 2022-06-22 10:37  东宫得臣  阅读(61)  评论(0编辑  收藏  举报