【VS Code使用freopen重定向后system(“pause“)失效的解决方案】
在使用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“)失效的解决方案】相关推荐
- php 重定向后下载文件失效
只有chrome 有这个问题,后来查了下,说是:"当网站通过HTTPS加载时,如果通过HTTP提供服务,Chrome会阻止加载静态内容.可能看起来Firefox不这样做" 注意当网 ...
- 配置VS Code使得输出结果 无需打断点或使用system(“pause“)无黑框
修改前: 如图,这是变换后的结果: 没有弹出黑框,直接在vscode里显示结果,再也不需要打断点或使用system("pause")使得那个系统的黑框停住. 更改前的launch. ...
- java 获得响应内容_Java 纯HTTP Get请求获取响应内容,如果302,继而获取重定向后的响应内容。...
标签:public static void main(String[] args) { try { StringBuffer buffer = new StringBuffer(); String u ...
- kbhit(), bioskey(), system(pause)
2017.09.18 kbhit(), bioskey(), system("pause") #include<iostream> #include<conio. ...
- C++之 system(“pause“); 与 getchar(); 防止控制台闪退
在使用宇宙开发神器时,我们发现控制台在弹出后以极快的速度闪退,怎么办? 方法一: 在 return 0 之前添加 getchar(); #include<iostream> using n ...
- freopen重定向函数
freopen重定向函数 通常在设计好算法和程序后,要在调试环境(例如VC等)中运行程序,输入测试数据,当能得到正确运行结果后,才将程序提交到oj中.但由于调试往往不能一次成功,每次运行时,都要重 ...
- C语言中system(pause)
system("pause")就是从程序里调用"pause"命令,而"pause"这个系统命令的功能很简单,就是在命令行上输出一行类似于&q ...
- linux运行c语言pause,c++中的system(pause)的作用和含义解析
简单来说就是暂停的意思,一般在LINUX编程时会用到,等待接收信号,才会重新运行 . 在进行C/C++编程的时候,在运行程序查看输出效果时,会出现窗口闪一下就关闭的情况. 在C语言中一般通过添加get ...
- 阿里云slb配置https重定向后变为http
阿里云slb配置https重定向后变http问题解决 背景描述 问题 部署结构 网上搜索到的方案 方案一 方案二 原理剖析 Servlet容器重定向 Shiro 重定向 Spring MVC 重定向 ...
最新文章
- pyhton/Perl设置 sublime text2
- Sqlserver循环嵌套
- UVA532 - Dungeon Master(裸BFS)
- oracle adg 改密码,Oracle ADG数据库切换
- JDBC事务--软件开发三层架构--ThreadLocal
- 一文总结 CPU 基本知识
- Linux视频切片m3u8,Rtmp转m3u8视频切片系统及方法
- linux 命令查看块设备,系统运维|用 Linux blkid 命令查找块设备详情
- hdc mfc 画扇形图_canvas画扇形、饼图
- HDU - 2196(树形DP)
- Redis Cluster集群的配置
- linux学习(3)——vim文本编辑工具
- JS 异步系列 —— Promise 札记
- 使用手机访问 Office 文档
- [杂]实用工具与链接
- jxta java_JXTA-JavaP2P JXT
- [LAMP兄弟连李明老师讲Linux].课件Shell编程
- Android播放声音SoundPool、MediaPlayer、AudioTrack
- 检查采购订单是否有零单价
- 2022年云办公行业研究报告