zoukankan      html  css  js  c++  java
  • C语言之流的重定向

    写c的小程序断不了需要输入输出,手动输入可太麻烦了。下面介绍IO的重定向方式:

    1.重定向标准输入输出和错误,直接在命令行使用符号< > 2> >> 2>>等,还可使用2>&1将标准错误重定向到标准输出(两个大于号表示追加)
    如下面执行main程序:
    main < data.txt >answer.csv 2> error.log
    
    2.在程序代码中使用freopen(文件路径,打开模式,stdin/stdout/stderr)进行重定向,配合使用main函数的参数来传递文件名(路径)。
    
    3.使用dup2(fileno1,fileno2)
    每用fopen()打开一个文件,操作系统都会在描述符表中新注册一项,产生一个文件描述符(类型为FILE*)fp,fileno(fp)函数返回描述符的编号(0~255)。
    一般情况下0,1,2是固定的分配给标准输入、输出、错误,之后的号码按使用时顺序分配,如数据库连接,网络连接的流。
    dup2(
    4,3)表示将4号数据流复制(覆盖)到3号 形如dup2(fd[1],1)将标准输出设为管道的写入端 dup2(fileno(fp),1),重定向标准输出到文件(这里的文件可以指普通文件,也可以理解为LINUX中的一切设备皆文件的概念) 在linux上还可以打开/dev/tty,将数据直接发送到终端

    你还可以写个脚本来执行你的程序,免去了不断的输入来进行测试。

  • 相关阅读:
    快速幂模板
    ACM大一寒假集训week1.2
    ACM大一寒假集训week1.1
    Gym
    Gym
    大学ACM第八周心得
    大学ACM第六周心得(11.29)
    大学ACM第五周心得
    大学ACM第四周心得
    大学ACM第三周心得
  • 原文地址:https://www.cnblogs.com/makefile/p/3759849.html
Copyright © 2011-2022 走看看