標準入力、標準出力和STDOUT_FILENO、STDIN_FILENO

stdinstdoutおよび他のタイプFILE *
STDIN_FILENOSTDOUT_FILENOSTDERR_FILENOおよび他のタイプint
使用FILE *機能は以下のとおりですfopen、fread、fwrite、fcloseので、基本的にすることfで始まります。
使用STDIN_FILENO関数などは以下のとおりです。open、read、write、closeのように。

stdin標準I / O、高度な入出力機能の他の部分は、定義されました<stdio.h>
STDIN_FILENO一般的に直接定義されたシステムコールに、0、1、2のように定義されたファイル記述子、負でない整数であるように<unistd.h>

fileno()関数は、取得するために使用することができますstream使用するファイルディスクリプタ指定されたファイルストリームを:

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


int main()
{
    printf("%d \n",fileno(stdin));      //0
    printf("%d \n",fileno(stdout));     //1
    printf("%d \n",fileno(stderr));     //2

    return 0;
}

標準出力に、入力された標準の受信:

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

#define SIZE 100

int main()
{
   int n;
   char buf[SIZE];

   while(n = read(STDIN_FILENO,buf,SIZE))
   {
       if(n != write(STDOUT_FILENO,buf,n))
            perror("write error");
   }

   if(n < 0)
        perror("read error");

   return 0;
}

おすすめ

転載: www.cnblogs.com/chay/p/11834066.html