我正在用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;
}
答案 0 :(得分:3)
问题是缺乏代码:你尝试了什么?有什么问题?
如果你想进入ncurses
并且不知道从哪里开始,我建议你阅读一些教程:关于键盘接口,请参阅this page和this page。如果您在使用某些代码后遇到问题,请随时提出更多问题。
答案 1 :(得分:0)
如果使用cin >> value;
输入值,则任何空格都是分隔符。您也可以输入制表符或空格而不是返回(除非该值可以读取,不能立即读取)。
答案 2 :(得分:0)
所以你想修改用户输入并显示不同的东西吗?
这不是一个好主意(对用户来说会非常混乱)。
如果用户决定在每个项目后按Enter键,则应在每个项目后输入。如果他只是用空格划分项目,则不应显示其他内容。