1

ncurses を使用した次のコードがあります。単一の移動機能を使用して数行を印刷できるかどうかを知りたいです。

例えば:

move(25,25);
printw("Line 1\n");
printw("Line 2\n");

行 1 は (25,25) の位置に出力されますが、move(26,25) を使用しない場合、行 2 は (26,0) に出力されます。2 番目の移動を回避して、2 行目を (26,25) に印刷することはできますか????

4

1 に答える 1

0

印刷するものを揃える必要がある場合は、新しいウィンドウを定義できます。まもなく:

#include <ncurses.h>

int main()
{
  WINDOW* mywin;

  initscr();
  cbreak();
  keypad(stdscr, TRUE);


  int height=15;
  int width=30;
  int starty=25;
  int startx=25;

  printw("F9 to exit");
  refresh();

  mywin = newwin(height, width, starty, startx);
  mvwprintw(mywin,0,0,"First line\n");
  wprintw(mywin,"Second line");
  wrefresh(mywin);

  while(getch() != KEY_F(9)) {}

  endwin();
  return 0;
}

このアプローチが適合しない場合は、印刷する次の位置に手動で移動する必要があります。

于 2012-09-13T17:23:12.127 に答える