GetConsoleScreenBufferInfo用于单个控制台行的长度

时间:2018-09-24 06:45:37

标签: c winapi windows-console

我已经看到here可以在给定的时间获得所有输出到控制台的长度,但是我想获得控制台中单个行的长度(即在特定的{ {1}})。使用Win32 API可以做到吗?

1 个答案:

答案 0 :(得分:1)

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