vscode编写c++代码出现无法cin,无法输入键盘内容的问题解决方案

当使用VSCode运行C++代码时,遇到cin无法获取键盘输入的问题,尝试多种网络上的解决办法无效。最终通过安装C/C++ runner扩展,在设置中指定cpp文件的路径,解决了这个问题,使得程序能够正常运行并等待用户输入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果你出现了和我一样的如下情况:
编写完 c++ 代码之后, 直接点击 run code 无法获取键盘内容,如图:
在这里插入图片描述
cin没有起作用, 点击run code 会直接结束cpp运行.
在网络上查找了各种解决方法进行测试,均都失败,最后在拓展处下载 c/c++ runner 之后,vscode下方会出现一个选择文件夹
在这里插入图片描述
点击它将其修改为cpp文件包的所在位置.
在这里插入图片描述
最后再点击 三角符号,稍等片刻即可输入数字,成功运行代码.
在这里插入图片描述

### 解决方案 在 MacBook 上使用 VSCode 编写并运行 C++ 代码时遇到无法输入问题,通常是由以下几个原因引起的: #### 原因分析 1. **Code Runner 插件问题** Code Runner 是一个常用的插件用于快速编译和运行代码。然而,在某些情况下,它可能不会正确处理标准输入流 `cin` 的交互行为[^2]。 2. **终端设置冲突** 如果未正确配置 VSCode 终端或者调试器选项,则可能导致程序启动后无法接收键盘输入[^3]。 3. **系统依赖缺失** 更新 macOS 或 Xcode 后可能会丢失必要的开发工具链组件(例如 Command Line Tools),从而影响正常构建流程[^4]。 --- #### 配置与调整建议 ##### 方法一:修改 Code Runner 设置 通过更改 Code Runner 默认参数来支持多行输入功能。 打开用户全局设置 JSON 文件 (`Preferences -> Settings -> Open Settings (JSON)`), 添加如下内容: ```json { "code-runner.runInTerminal": true, "code-runner.executorMap": { "cpp": "g++ '$fileName' -o '$fileNameWithoutExt' && '$fileNameWithoutExt'" } } ``` 上述操作强制让所有执行过程切换到外部集成控制台窗口完成, 并指定自定义 g++ 构建脚本以适应不同平台需求. 注意: 将 `"runInTerminal"` 设定为 `true`, 确保每次调用都跳转至独立 shell session 中继续. --- ##### 方法二:启用内置 Debug Console 模式 如果单纯依靠扩展难以满足复杂项目管理场景下的灵活性要求, 则推荐采用官方提供的 Launch Configuration 功能替代简单一键式解决方案. 创建一个新的 launch.json 条目(位于 .vscode/launch.json): ```json { "version": "0.2.0", "configurations": [ { "name": "(gdb) Launch", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/a.out", // 替换为目标可执行文件路径 "args": [], "stopAtEntry": false, "cwd": "${fileDirname}", "environment": [], "externalConsole": true, "MIMode": "lldb" } ] } ``` 此方式允许开发者更精细地掌控整个生命周期内的各项属性值设定情况的同时也保留了良好的用户体验效果. 重要提示: 当前实现仅适用于 Intel 架构版本; 对于 Apple Silicon 特化机型而言可能存在兼容性障碍需另行验证适配可能性. --- ##### 方法三:安装最新版 Xcode & CLT 工具集 鉴于部分基础库函数声明位置变动频繁容易引发链接错误等问题发生概率较高因此有必要确认当前操作系统是否已预装齐全所需资源包集合. 执行以下命令检查状态以及必要时触发在线获取动作: ```bash xcode-select --install softwareupdate --list ``` 前者负责提供核心 SDK 支撑材料后者则列举待升级补丁列表供手动挑选应用. --- ### 总结 综上所述针对 macbook vscode c++ 运行期间遭遇无响应现象可以从三个方面入手排查即优化现有工作区布局结构重新规划任务调度机制最后再补充完善底层框架支撑要素直至彻底消除干扰因素恢复正常运转秩序为止.
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值