c++ - 如何防止Windows控制台上的Enter键自动滚动

标签 c++ winapi windows-console

每当我在 Windows 控制台中输入一些字符并按 Enter 键时,它就会自动滚动到下一行。有没有办法在 C++ 中禁用此行为(使用 Windows API),如果可以的话;怎么办?

最佳答案

如果您调用 scanfgetline 或类似函数,则底层 C 运行时 (CRT) 会处理 Enter、Backspace、Delete、箭头键、Tab 等当然所有可打印的 key 。

如果您想以与 CRT 不同的方式处理 Enter,那么您还必须使用 _getch(与 getchar 不同的非标准函数)来处理所有其他键。您将必须编写一些代码。据我所知,如果不按 Enter 进入下一行,就无法使用 scanfgetline

关于c++ - 如何防止Windows控制台上的Enter键自动滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59858133/

相关文章:

winapi - WIN32 API 中 WM_MOUSEHOVER 上的 POPUP 窗口 - 如何关闭它?

batch-file - 如何清除批处理中的选定行而不是整个屏幕?

c++ - 为进程输出问题设置编码

c++ - 在 C++ 中定义一个大的位集

c++ - 我可以在 C++ 中使用哪一行代码来禁用节能器?

c++ - 这段代码是什么意思

c++ - 如何检查给定路径是否指向现有文件或目录?

python - Windows 控制台编码

c++ - 哪个编译器对于以下重载/特化行为是正确的?

C++ vector 插入和读取