[gelöst] ncurses und c++

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
monkey
Beiträge: 182
Registriert: 29.06.2006 09:00:51
Wohnort: Buxtehude

[gelöst] ncurses und c++

Beitrag von monkey » 17.06.2008 21:37:39

Hallo zusammen wollte für ein Konsolenprogramm eine grafische Oberfläche schreiben. Jetzt habe ich eine Anleitung im Internet gefunden http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/ mit der ich mich in dieses Thema einarbeiten will. So ist nun das Problem wenn ich z.B.

Code: Alles auswählen

#include <stdlib.h>
#include <ncurses.h>

int main()
{
	initscr();			
	printw("Hello World !!!");	
	refresh();			
	getch();			
	endwin();			
	return 0;
}
denn Code in C schreibe habe ich das gewünschte Ergebnis auf dem Schirm. Wenn ich aber statt dessen das ganze in c++ schreiben will, also die Ausgabe mit cout mache bleibt der Bildschirm leer obwohl ein Hello World ausgegeben werden sollte.

Code: Alles auswählen

#include <iostream>
#include <ncurses.h>
using namespace std;

int main()
{
	initscr();
	cout << "Hello World !!!" << endl;
	refresh();
	getch();
	endwin();
	return 0;
}
Kompilieren tu ich das ganze mit.

Code: Alles auswählen

g++ Datei -lncurses

So ist jetzt meine Frage kann ich die ncurses Bibliotheken in C++ Programmen überhaupt nicht nutzen oder ist es nur ein Übersetzungsfehler meinerseits?
Zuletzt geändert von monkey am 04.09.2008 19:35:38, insgesamt 1-mal geändert.

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Re: ncurses und c++

Beitrag von gms » 17.06.2008 21:55:31

monkey hat geschrieben: So ist jetzt meine Frage kann ich die ncurses Bibliotheken in C++ Programmen überhaupt nicht nutzen oder ist es nur ein Übersetzungsfehler meinerseits?
sicherlich kannst du diese nutzen, nur wenn du das ncurses-C-API verwendest, darfst du dir nicht erwarten, daß die Klasse ostream auf einmal etwas anderes tut, wieso sollte sie das ?
Du kannst in C++ Programmen natürlich auch

Code: Alles auswählen

printw("Hello World !!!");
oder

Code: Alles auswählen

printw(myvar.c_str());
verwenden, es gibt aber auch C++ Klassen von ncurses. ( siehe ncurses++ )

Gruß
gms

Antworten