c - GetConsoleScreenBufferInfo 获取单个控制台行的长度

标签 c winapi windows-console

我见过here可以获取给定时间控制台的所有输出的长度,但是我想获取控制台中单个行的长度(即在特定的 COORD 处)。这可以通过 Win32 API 实现吗?

最佳答案

使用GetConsoleScreenBufferInfo()获取控制台屏幕缓冲区的宽度。接下来,对您感兴趣的行中从 width0 的每个位置执行 ReadConsoleOutput()并检查该位置的字符是否为空白字符(isspace())。如果不是,您已找到该行中最后一个字符的位置,其 X 坐标是该行的长度。

关于c - GetConsoleScreenBufferInfo 获取单个控制台行的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52473930/

相关文章:

winapi - Bitblt() 如何与 SRCAND 一起工作?

winapi - C++ Pipe ReadFile 函数在 Windows XP 中设置超时

windows - 如何在不在 Inno Setup 中打开新窗口的情况下运行 CMD 命令

c# - 代码中特定行的目的是什么

c++ - 猜测运行时函数的返回类型

c - 通过/dev/input/eventX读取gpio值

c++ - 使用 __debugbreak() 尝试/捕获

python - 在 Windows 上,python 启动器 'py' 做什么让 control-C 在进程组之间交叉?

使用 sscanf 控制整个字符串

c - 为什么我的程序在 C 语言下不能正常工作?