Hi, also das verstehe ich nicht. Die Sache laeuft doch so ab:
Das Programm wird gestartet und hat eine Standardeingabe -> nun kopierst du den Filediskriptor der Standardeingabe und schliesst den Filedeskriptor 0 -> SDL wird gestartet
Die Standardeingabe kommt nun ueber den kopierten Filedeskriptor, von dem SDL aber keine Ahung hat. Das Hauptprogramm muss nun jedoch vom kopierten Filedeskriptor lesen. Wenn sich SDL beschwert, dass die Standardeingabe geschlossen ist, dann kannst du einen FIFO nach 0 umlenken mittels dup2().
Ciao
Hi, auf die Gefahr hin, dass ich Dich langsam nerve... ich tu es trotzdem. Ich hexe weiterhin an der Sache mit dem Umlenken, bzw. Schliessen der Standardeingabe rum und werde Dich natürlich wissen lassen wie es ausgeht. Da ich nicht unbedingt der Crack bin kann das ganze aber etwas dauern und darum möchte ich Dich auch noch bitten, mir diese (Deine) Zeilen:
while ((n = read( fd, buf, SIZE)) != -1) { std::cout << std::string( buf, buf + n);
insbesondere die zweite Zeile kurz zu erklären. Danke