輸入和輸出

//輸入和輸出
#include <unistd.h>//包含了STDIN_FILENO,STDOUT_FILENO,read,write
#include <stdio.h>
#include <stdlib.h>

#define BUFFSIZE 4096

int main(void){
        int n;
        char buf[BUFFSIZE];

    //read函數返回讀取的字節數,此值用於要寫的字節數,當到達輸入文件的
    //尾端時,read返回的0,程序也就停止運行了,
    //如果發生一個讀的錯誤,read返回的是-1,出錯時,大多的系統函數都返回-1
    //
        while((n=read(STDIN_FILENO,buf,BUFFSIZE))>0){
                if(write(STDOUT_FILENO,buf,n)!=n){
                        printf("write error");
                }
        }
        if(n<0){
                printf("read error");
        }
        exit(0);
}

運行: ./a.out > data是表示的是將標準輸入和錯誤是終端,標準輸出則重定向至文件
    ./a.out < infile > outfile
    是表示的是將文件infile複製到outfile
發佈了50 篇原創文章 · 獲贊 21 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章