howtnted
07-04-2005, 17:52
Ich weiß ja, dass dieses thema unter linux oft angesprochen wird dennoch ist es für einen neuling (linux und c++) da durchzublicken und mitzukommen!
Also ich habe lange google und massen von foren durchsucht und habe nur paar ansätze gefunden!
Also um es euch einfacher zu machen hier mal so paar daten:
nutze ubuntu und programmiere mit anjuta
habe schon paar erfahrungen mit der c++ programmierung unter windows in borland und devc++.
Tja ich habe den umstieg auf linux nun gewagt, habe aber festgestellt, dass das programmieren nen ganzen stück anders ist als unter windows. Zumal ich sehr plattformabhängig geprogt habe unter windows (conio.h und windows.h)
Da ich so kleine spielchen programmiert habe, brauche ich natürlich auch zeit und eingaben damit das spiel interaktiv wird.
da gibts nun unterschiede bei win und linux.
so zum eigentlichen prob...
in vielen foren wird der link auf die conio.h als txt datei gegeben!
http://www.mrunix.de/forums/showpost.php?p=151924&postcount=12
klar dachte ich mir... probier ich doch mal aus... hat auch geklappt... nur beim genaueren testen habe ich festgestellt, dass manche funktionen nicht die gewünschte leistung erbringen.
hier als beispiel die funktion getch(); aus der conio.h
int main()
{
cout<<"lol";
getchar();
cout<<"lol2";
return 0;
}
tja was sollte der code machen?
er soll mir "lol" ausgeben dann auf ne eingabe warten und danach
"lol2" anzeigen.
hmmm... sollte... aber das komische, er wartet erst auf die eingabe und gibt dann beides auf einmal aus! Wieso habt ihr das auch?
hier mal der code der die getch(); funktion herstellt. fällt euch nen fehler auf?
int getch(void)
{
int zeich;
if (tty_cbreak(STDIN_FILENO, 0) < 0) {
fprintf(stderr, "kann nicht in cbreak-Modus umschalten\n");
return(EOF);
}
if (read(STDIN_FILENO, &zeich, 1) == 1)
zeich &= 0xff;
tty_reset(STDIN_FILENO);
return(zeich);
}
is komisch... naja vielleicht könnt ihr mir helfen, um meine codes etwas portabler zu machen zwischen borland und anjuta (borland in der schule)
das mit ncurses hab ich schon versucht, aber das kann dann borland wieder nicht. und mixen is auch nicht gut, weil sich einige sachen da überschneiden und nur fehler bringen.
Tja bei fragen, wenn ich etwas schlecht erklärt habe, dann schreibts plz... wäre für jede hilfe dankbar!
cu
Hotte + oWned = howtnted ;)
Also ich habe lange google und massen von foren durchsucht und habe nur paar ansätze gefunden!
Also um es euch einfacher zu machen hier mal so paar daten:
nutze ubuntu und programmiere mit anjuta
habe schon paar erfahrungen mit der c++ programmierung unter windows in borland und devc++.
Tja ich habe den umstieg auf linux nun gewagt, habe aber festgestellt, dass das programmieren nen ganzen stück anders ist als unter windows. Zumal ich sehr plattformabhängig geprogt habe unter windows (conio.h und windows.h)
Da ich so kleine spielchen programmiert habe, brauche ich natürlich auch zeit und eingaben damit das spiel interaktiv wird.
da gibts nun unterschiede bei win und linux.
so zum eigentlichen prob...
in vielen foren wird der link auf die conio.h als txt datei gegeben!
http://www.mrunix.de/forums/showpost.php?p=151924&postcount=12
klar dachte ich mir... probier ich doch mal aus... hat auch geklappt... nur beim genaueren testen habe ich festgestellt, dass manche funktionen nicht die gewünschte leistung erbringen.
hier als beispiel die funktion getch(); aus der conio.h
int main()
{
cout<<"lol";
getchar();
cout<<"lol2";
return 0;
}
tja was sollte der code machen?
er soll mir "lol" ausgeben dann auf ne eingabe warten und danach
"lol2" anzeigen.
hmmm... sollte... aber das komische, er wartet erst auf die eingabe und gibt dann beides auf einmal aus! Wieso habt ihr das auch?
hier mal der code der die getch(); funktion herstellt. fällt euch nen fehler auf?
int getch(void)
{
int zeich;
if (tty_cbreak(STDIN_FILENO, 0) < 0) {
fprintf(stderr, "kann nicht in cbreak-Modus umschalten\n");
return(EOF);
}
if (read(STDIN_FILENO, &zeich, 1) == 1)
zeich &= 0xff;
tty_reset(STDIN_FILENO);
return(zeich);
}
is komisch... naja vielleicht könnt ihr mir helfen, um meine codes etwas portabler zu machen zwischen borland und anjuta (borland in der schule)
das mit ncurses hab ich schon versucht, aber das kann dann borland wieder nicht. und mixen is auch nicht gut, weil sich einige sachen da überschneiden und nur fehler bringen.
Tja bei fragen, wenn ich etwas schlecht erklärt habe, dann schreibts plz... wäre für jede hilfe dankbar!
cu
Hotte + oWned = howtnted ;)