Hi, folgendes kleines Programm:
#include <iostream.h> #include <curses.h> #include <stdlib.h> #include <string>
int get_window_text(char *a) { WINDOW *border = newwin(10,40,3,3); wborder(border,0,0,0,0,0,0,0,0); wrefresh(border); WINDOW *neu = newwin(8,38,4,4); echo(); scrollok(neu,1); waddstr(neu,"Bitte Text eingeben:\n"); wrefresh(neu); wgetnstr(neu,a,304); refresh(); noecho(); return 0; }
int main(int argc, char **argv) { (void) initscr(); keypad(stdscr, TRUE); (void) nonl(); (void) cbreak(); (void) noecho();
border(0,0,0,0,0,0,0,0); refresh();
char *a = new char; get_window_text(a); endwin();
cout << a << endl;; return 0; }
Es soll nur den *char ausgeben, den ich in dem Fenster *neu in der Funktion get_window_text eingeben habe. Es werden aber immer nur max. 24 zeichen ausgegeben. Gibt es da irgendeine Beschränkung hinsichtich des *char arrays oder hab ich nur was übersehen.
Zur zweiten Frage: Gibt es auch c++ binfings für ncurses? Die C Routinen funktionieren zwar, sind aber alles andere als komfortabel und übersichtlich. Falls es keine c++ bindings gibt, gibt es noch ein anderes "toolkit" mit dem ich ohne xwindow arbeiten kann?