使用标签输入替换返回

时间:2010-11-22 11:24:41

标签: c++ g++

我正在用C ++编写一个程序来输入NxN矩阵的值。通常,输入一个整数并按下Return键NxN次。但我想让光标移动用户输入的每个值的选项卡长度。这将继续执行,然后提示新行输入下一行的输入。我知道使用curses.h进行这样的实现,但还没有弄清楚如何实现它。

感谢。

#include <ncurses.h>
#include <iostream>

using namespace std;

int main()
{
  char ch[10];
  int array[4][4];
  initscr();
  raw();
  keypad(stdscr, TRUE);
  echo();

  printw("Enter elements a 4x4 array: \n");
  for(int i=0;i<4;i++) {
    for(int j=0 ; j<4; j++) {
      getstr(ch);
      array[i][j]=atoi(ch);
      addch('\t'); // This is executed after the newline return is received
      refresh();
    }
    addch('\n');
  }

  getch();
  endwin();
  return 0;
}

3 个答案:

答案 0 :(得分:3)

问题是缺乏代码:你尝试了什么?有什么问题?

如果你想进入ncurses并且不知道从哪里开始,我建议你阅读一些教程:关于键盘接口,请参阅this pagethis page。如果您在使用某些代码后遇到问题,请随时提出更多问题。

答案 1 :(得分:0)

如果使用cin >> value;输入值,则任何空格都是分隔符。您也可以输入制表符或空格而不是返回(除非该值可以读取,不能立即读取)。

答案 2 :(得分:0)

所以你想修改用户输入并显示不同的东西吗?

这不是一个好主意(对用户来说会非常混乱)。

如果用户决定在每个项目后按Enter键,则应在每个项目后输入。如果他只是用空格划分项目,则不应显示其他内容。