C++程序 避免程序一闪而过的方法

初学者经常写程序的时候  程序容易一闪而过

其实有两种方法可以解决

1>使用命令行指令pause        C++语言代码为    system("pause");

2>使用cin.get();

第一种方法我就不解释了  字面意思    暂停

第二种方法也可以起到同样的作用

跟我一起来分析

cin是一个输入指令 是从键盘获取一个字符

cin.get(a)方法是将获取的字符保存在变量a中

但我们在这种用途下可以不使用变量    以做到节省内存空间和保持书写整洁的效果

我们可以在程序尾(当然要在return 0;这句前面)加上两个cin.get();

为什么要两个呢?

其实在多数情况下一个跟两个的作用差不多

但是由于C++输入输出缓冲流的特殊机制

导致第一个cin.get()可能直接从缓冲流中获取一个字符    这样我们第一个cin.get()也就失去了我们预定的作用

所以我们要两个

 
### VSCode 编译 C 程序时终端窗口一闪而过的原因 当在 Windows 上使用 Visual Studio Code (VSCode) 进行 C 或 C++ 程序开发时,有时会遇到程序运行结束后命令提示符窗口立即关闭的情况。这是因为命令行程序执行完毕后默认行为是自动关闭窗口[^1]。 ### 解决方案一:修改 `launch.json` 配置文件 为了防止程序结束时窗口立刻关闭,在 `.vscode/launch.json` 文件中的配置项可以加入 `"externalConsole": true`, 并设置 `"console": "integratedTerminal"` 或者 `"console": "externalTerminal"` 来指定使用的控制台类型: ```json { "version": "0.2.0", "configurations": [ { "name": "(gdb) Launch", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/a.exe", // 替换成实际可执行文件路径 "args": [], "stopAtEntry": false, "cwd": "${fileDirname}", "environment": [], "externalConsole": true, // 使用外部控制台 "MIMode": "gdb", "miDebuggerPath": "/path/to/gdb", // 如果不是Linux系统则忽略此行 "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "preLaunchTask": "gcc build active file",// 构建任务名称 "internalConsoleOptions": "neverOpen" } ] } ``` 通过上述方式可以让程序在一个独立的 CMD 控制台中启动并保持打开状态直到手动关闭[^2]。 ### 解决方案二:调整代码逻辑 另一种简单的方法是在源码最后加上一段等待输入的操作来阻止窗口快速消失。比如可以在主函数结尾处增加如下代码片段: 对于 C 语言: ```c #include <stdio.h> int main() { printf("Hello world!\n"); char ch; scanf("%c", &ch); // 添加这一句使程序暂停等待按键 return 0; } ``` 这种方法适用于不想更改 IDE 设置的情况下临时测试使用[^3]。 ### 解决方案三:处理特定错误信息 如果遇到了类似于“终端将被任务重用,按任意键关闭”的警告,则可能是由于某些版本的 VSCode 中存在已知 bug 导致的任务管理问题。此时可以通过更新到最新版 VSCode 及其扩展插件尝试修复该问题;另外也可以考虑调整任务配置避免触发此类冲突。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值