curses:如何找到书写文本区域的高度

curses: how to find the height of written text area

我在 curses 中创建了一个 pad,然后用一堆文本填充它。 pad的高度是恒定的,但是我想知道pad的书写部分有多少行或者它的高度。

rows, cols = std.getmaxyx()
text_win = cur.newpad(rows*3, cols)
text_win.addstr("some stuff")

您可以通过检查 getyx:

的结果来做到这一点
rows, cols = std.getmaxyx()
text_win = cur.newpad(rows*3, cols)
text_win.addstr("some stuff")
cury, curx = text_win.getyx()
used_rows = cury + (1 if curx == 0 else 0)

由于addstr是从原点开始的,所以不需要调用getyx两次。条件表达式占line-wrapping.