在使用vscode时,如果想让vscode显示外外部独立终端(命令提示符上),运行窗口会一闪而过,需要使用getchar()或者是system("pause")来使控制台停留在运行后的界面。但当涉及到文件读写的时候,却发现无论是用getchar()还是system("pause")都无法使运行窗口停留。

例如:

#include<iostream>
using namespace std;
int main()
{FILE *fp;char name[50];int number;fp=freopen("conf.ini","r",stdin);scanf("%s%d",name,&number);fclose(fp);printf("%s\n%d\n",name,number);fclose(fp);system("pause");return 0;
}

这是由于system("pause")的机制是输入任意键结束,而我们目前的输入是重定向到文件中进行的,所以相当于没有用处了(getchar())同理。可能有的同学会问:不是已经使用fclose关闭了嘛为啥会没有效果呢?这里的fclose只是起到了关闭文件的作用,并没有使重定向恢复到原来的状态。那究竟该怎么做呢?

具体的解决方案如下:

对于windows系统,在system("pause")前加入:freopen("CON", "r", stdin);(以"r"为例)
        对于Linux系统,在system("pause")前加入:freopen("/dev/console", "r", stdin);(以"r"为例)

修改后发现已经可以正常显示啦:

【VS Code使用freopen重定向后system(“pause“)失效的解决方案】相关推荐

  1. php 重定向后下载文件失效

    只有chrome 有这个问题,后来查了下,说是:"当网站通过HTTPS加载时,如果通过HTTP提供服务,Chrome会阻止加载静态内容.可能看起来Firefox不这样做" 注意当网 ...

  2. 配置VS Code使得输出结果 无需打断点或使用system(“pause“)无黑框

    修改前: 如图,这是变换后的结果: 没有弹出黑框,直接在vscode里显示结果,再也不需要打断点或使用system("pause")使得那个系统的黑框停住. 更改前的launch. ...

  3. java 获得响应内容_Java 纯HTTP Get请求获取响应内容,如果302,继而获取重定向后的响应内容。...

    标签:public static void main(String[] args) { try { StringBuffer buffer = new StringBuffer(); String u ...

  4. kbhit(), bioskey(), system(pause)

    2017.09.18 kbhit(), bioskey(), system("pause") #include<iostream> #include<conio. ...

  5. C++之 system(“pause“); 与 getchar(); 防止控制台闪退

    在使用宇宙开发神器时,我们发现控制台在弹出后以极快的速度闪退,怎么办? 方法一: 在 return 0 之前添加 getchar(); #include<iostream> using n ...

  6. freopen重定向函数

    freopen重定向函数   通常在设计好算法和程序后,要在调试环境(例如VC等)中运行程序,输入测试数据,当能得到正确运行结果后,才将程序提交到oj中.但由于调试往往不能一次成功,每次运行时,都要重 ...

  7. C语言中system(pause)

    system("pause")就是从程序里调用"pause"命令,而"pause"这个系统命令的功能很简单,就是在命令行上输出一行类似于&q ...

  8. linux运行c语言pause,c++中的system(pause)的作用和含义解析

    简单来说就是暂停的意思,一般在LINUX编程时会用到,等待接收信号,才会重新运行 . 在进行C/C++编程的时候,在运行程序查看输出效果时,会出现窗口闪一下就关闭的情况. 在C语言中一般通过添加get ...

  9. 阿里云slb配置https重定向后变为http

    阿里云slb配置https重定向后变http问题解决 背景描述 问题 部署结构 网上搜索到的方案 方案一 方案二 原理剖析 Servlet容器重定向 Shiro 重定向 Spring MVC 重定向 ...

最新文章

  1. pyhton/Perl设置 sublime text2
  2. Sqlserver循环嵌套
  3. UVA532 - Dungeon Master(裸BFS)
  4. oracle adg 改密码,Oracle ADG数据库切换
  5. JDBC事务--软件开发三层架构--ThreadLocal
  6. 一文总结 CPU 基本知识
  7. Linux视频切片m3u8,Rtmp转m3u8视频切片系统及方法
  8. linux 命令查看块设备,系统运维|用 Linux blkid 命令查找块设备详情
  9. hdc mfc 画扇形图_canvas画扇形、饼图
  10. HDU - 2196(树形DP)
  11. Redis Cluster集群的配置
  12. linux学习(3)——vim文本编辑工具
  13. JS 异步系列 —— Promise 札记
  14. 使用手机访问 Office 文档
  15. [杂]实用工具与链接
  16. jxta java_JXTA-JavaP2P JXT
  17. [LAMP兄弟连李明老师讲Linux].课件Shell编程
  18. Android播放声音SoundPool、MediaPlayer、AudioTrack
  19. 检查采购订单是否有零单价
  20. 2022年云办公行业研究报告

热门文章

  1. shell脚本分割字符串----获取mysql8初始密码
  2. 智能手机Smartphone开发从零起步(四)(转)
  3. 网络经济与企业管理(浏览)
  4. Windows程序设计-多任务和多线程
  5. Python基础之列表
  6. JAVA多线程使用研究
  7. PCIe扫盲——中断机制介绍(MSI)
  8. 【前端-React Native】移动端原生开发整合React Native Elements教程-安卓示例
  9. 目前我国电力线路有几种电压等级?
  10. java 求正割_Machine Learning 2 - 非线性回归算法分析