ncurses - Ncurses中的换行符后如何防止光标回到屏幕的最左侧?
问题描述
使用 Ncurses 中的函数 mvprintw(rowOffset, colOffset, textToPrint),当我打印换行符时,如果 colOffset 不是 0,我会得到一个如下所示的矩形:
xxxxxxxx
x x
xxxxxxxx
当我希望矩形的其余部分与顶部对齐时
为了
#include <ncurses.h>
void main()
{
initscr();
mvprintw(7,3,"xxxxxxxx\nx x\nxxxxxxxx\n");
refresh();
}
我怎样才能解决这个问题?
解决方案
您可以创建一个从 开始的窗口7,3
,并且写入窗口将换行到列偏移量 3,例如,
#include <ncurses.h>
void main()
{
WINDOW *w;
initscr();
w = newwin(10,20, 7, 3);
wprintw(w, "xxxxxxxx\nx x\nxxxxxxxx\n");
wrefresh(w);
wgetch(w);
}
这将创建一个 10 行窗口。您可以通过考虑实际屏幕尺寸(例如LINES
)来创建更大的屏幕。
推荐阅读
- javascript - 如何使用切换类列表更改 HTML 表中行的背景
- java - 如何在主方法中调用另一个方法?
- c++ - 为什么既不使用复制构造也不使用移动构造?
- javascript - 使用 Document.write() 和一个对象来创建
在 HTML 中
- c# - OnCollisionEnter2D 只被调用一次
- rest - Fuel HTTP - 避免 URL 编码
- entity-framework - 我有“蟑螂汽车旅馆数据”——数据进入数据库正常,无法退出
- mysql - 使用保存在数据库中的数组连接表以用于匹配表
- php - 如何按日期键对数组进行排序?
- vb.net - How to implement multiple catches with error provider if textbox is empty