zoukankan      html  css  js  c++  java
  • stdin,stdout 和 STDOUT_FILENO,STDIN_FILENO

    stdin,stdout 等类型为 FILE *
    STDIN_FILENO,STDOUT_FILENO,STDERR_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 
    ",fileno(stdin));		//0
        printf("%d 
    ",fileno(stdout));		//1
        printf("%d 
    ",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;
    }
    
  • 相关阅读:
    webpack打包踩坑记录
    node笔记
    你真的会Xilinx FPGA的复位吗?
    Verilog 99题之001-009
    数字电路基础
    跨时钟域处理
    时序逻辑电路基础
    FPGA&ASIC基本开发流程
    关于FPGA的一些小见解
    基于FPGA的I2C读写EEPROM
  • 原文地址:https://www.cnblogs.com/chay/p/11834066.html
Copyright © 2011-2022 走看看