有时用了freopen,怎么搞都不能从控制台输入输出了,相当郁闷。于是总结了一下用freopen后恢复到控制台的方法。

方法一、

在freopen前,调用dup把标准输出的文件描述符保存起来

old = dup( 1 );
FILE *fp=freopen("a.out","w",stdout);
fflush(fp);//将输出缓冲区清空
dup2( old, 1 );//恢复标准输出文件描述符
printf("方法一 OK!\n");

方法二、(适用在windows下)

FILE *fp=freopen("a.out","w",stdout);
fflush(fp);//将输出缓冲区清空
freopen( "CON", "w", stdout ); //定向输出到控制台

方法三、(使用在linux下)

FILE *fp=freopen("a.out","w",stdout);
fflush(fp);//将输出缓冲区清空
freopen("/dev/tty", "w", stdout);
freopen("/dev/tty", "r", stdin); 

linux c 重定向流后的恢复 freopen后的恢复相关推荐

  1. QT 的视频播放或者播放直播流过程中,最小化恢复正常后的界面按钮失去活性

    问题阐述:qt的加载vlc后的界面用来播放视频和直播流.需要自绘标题框在自己写的界面里面有设置 setWindowFlags(Qt::FramelessWindowHint | Qt::WindowM ...

  2. 输出重定向Linux命令,Linux Shell重定向(输入输出重定向)精讲

    Linux Shell 重定向分为两种,一种输入重定向,一种是输出重定向:从字面上理解,输入输出重定向就是「改变输入与输出的方向」的意思. 那么,什么是输入输出方向呢?标准的输入输出方向又是什么呢? ...

  3. linux 输出重定向_linux学习笔记(实验楼) 实验12 数据流重定向

    一.实验介绍 1.1 实验内容 你可能对重定向这个概念感到些许陌生,但你应该在前面的课程中多次见过>或>>操作了,并知道他们分别是将标准输出导向一个文件或追加到一个文件中.这其实就是 ...

  4. Linux 文件系统错误的修复方法 ddrescue替代dd的恢复软件 备用超级块

    Linux 文件系统错误的修复方法  ddrescue替代dd的恢复软件  备用超级块 http://www.mamicode.com/info-detail-1372846.html 最近处理的一件 ...

  5. linux文件重定向 dup,linux之dup和dup2函数解析

    linux之dup和dup2函数解析 linux之dup和dup2函数解析 系统调用dup和dup2能够复制文件描述符.dup返回新的文件文件描述符(没有用的文件描述符最小的编号).dup2可以让用户 ...

  6. win10恢复linux引导文件,easybcd误删Win10启动项,UEFI恢复引导

    想给电脑安Ubuntu双系统,期间根据一些不靠谱的文章用了easybcd软件,Ubuntu没安上,反而把Windows的引导弄没了,这软解真没坑啊. 回复Windows引导需要用Windows系统盘来 ...

  7. Linux文件系统恢复(数据误删恢复)

    Linux文件系统恢复(数据误删恢复) 文章目录 Linux文件系统恢复(数据误删恢复) inode与block 用户通过文件名打开文件时,系统内部的过程 查看文件对应的inode号码有两种方式 用s ...

  8. Linux文件系统与日志分析(inode、文件备份和恢复、日志文件管理)

    文章目录 一 . inode和block 1.文件和扇区 2.块(block) 3.文件数据 二 . inode(索引节点) 1.inode的内容 2. inode的号码 3.inode的大小 4.i ...

  9. linux重定向路径,Linux输出重定向小结(转)

    最近/var空间老是报警,起因是/var/spool/clientmqueue下文件数量太多导致占用空间很大,此空间下存放了大量的crontab运行而发送给root的邮件,可以用以下步骤解决: 1.首 ...

最新文章

  1. json省市区城市级联
  2. linux下搜狗输入法无法输入中文解决方法
  3. 第十节:委托和事件(2)(泛型委托、Func和Action、事件及与委托的比较)
  4. Visual Studio 的码云扩展 V1.0.85 发布
  5. MINA2 源代码学习--源代码结构梳理
  6. Linux Kernel Lock types and their rules
  7. PHP5安装好了,再附加GD库
  8. 史上最全CSDN中免积分下载攻略
  9. Android 编程经典200例 (pdf)资源
  10. python与开源gis_Python与开源GIS:SpatiaLite简介
  11. 建模实训报告总结_实验报告总结(15篇)
  12. 双人贪吃蛇c语言,关于C 双人贪吃蛇显示的问题
  13. 【C系列6.6】数组训练之金鱼
  14. selenium+python自动化(完整脚本一)
  15. 关于SSML音频合成是否成功的判断
  16. Linux系统编译安装GDAL库
  17. 前沿笔记|Eva:基于AI强化学习的COVID-19检测判断模型|Nature
  18. 关于Mysql 的时区问题
  19. HTML-input文本框(添加提示文字,填写内容时消失)
  20. Day11:文件和异常

热门文章

  1. Adobe将于2020年末停止对Flash的支持
  2. 探索 vuex 2.0 以及使用 vuejs 2.0 + vuex 2.0 构建记事本应用
  3. Netty with protobuf(二)
  4. chcon命令 selinux 配置等
  5. 三招让你从求职者中脱颖而出(转)
  6. 电脑装windows和ubuntu,如何卸载ubuntu系统
  7. vue中过渡动画(类名实现方式)
  8. 一文应用 AOP | 最全选型考量 + 边剖析经典开源库边实践,美滋滋
  9. 第九章 Shell信号发送与捕捉
  10. 原生js实现ajax的文件异步提交功能、图片预览功能.实例