|
默认情况下,VS Code 的「调试控制台」只是一个日志输出窗口,并不能像普通终端那样把你的键盘输入实时 “打给” std::cin。
要把调试时的终端切到可以交互 stdin 的「集成终端」或「外部控制台」。
在 .vscode/launch.json 里把终端改成 integratedTerminal :
- {
- "version": "0.2.0",
- "configurations": [
- {
- "name": "g++.exe build and debug",
- "type": "cppdbg",
- "request": "launch",
- "program": "${fileDirname}/${fileBasenameNoExtension}.exe",
- "args": [],
- "stopAtEntry": false,
- "cwd": "${workspaceFolder}",
- "environment": [],
- "console": "integratedTerminal", // ← 这样才能在「终端」里输入,而不是 Debug Console
- //"externalConsole": true, // ← 或者打开这个,用外部窗口
- "MIMode": "gdb",
- "miDebuggerPath": "D:/mingw64/bin/gdb.exe",
- "preLaunchTask": "g++ build active file"
- }
- ]
- }
复制代码
或者干脆用外部控制台
(不会的话,可以网上搜“”)
然后 如果要真正确保中文输入、输出无乱码/不丢失,就用 SetConsoleCP/SetConsoleOutputCP(CP_UTF8) + 宽字符流 std::wstring + _setmode(..., _O_U16TEXT)。 |
|