stdout windows linux
-
Hi Leute!
Folgendes Problem:
Ich habe 2 PC's daheim (Windows- und Linux-PC). Ich will eine Konsolenfernsteuerungssoftware schreiben damit ich nicht st?ndig zwischen beiden PC's hin und her laufen muss. TCP Teil des Programms ist schon soweit f?r beide Systeme fertig. Jetzt bleibt nur noch die Ausgabe. Es ist zur Zeit bei mir so realisiert:
system(buffer); write ( 1, stdout, rc); //fragt mich nicht was die rc soll, ist bei mir einfach eine int variable == 1
und es funktioniert soweit (zumindest unter Linux). Wenn ich "ls" oder "dir" eingebe, werden dann alle ausgaben angezeigt, dazu kommt aber noch Datenschrott hinzu. Irgendwelche komischen Zeichen dazwischen etwa @ __ ~## sh: blabla.txt Also ich denke mal sh: steht f?r Shell. Soll ich dan alle mit sh: anfangenden Zeilen aus der Datei stdout manuell ausfiltern oder gibt es eine einfachere L?sung Shellausgabe zu formatieren, m?glichst f?r beide Betriebssystemme?
-
Gratuliere zum fantasievollen Umgang mit dem stdout-Buffer, aber was du da treibst ist kompletter Nonsens. Programmieren heisst nicht, wilde Experimente anzustellen und irgendwann aufzuhören, wenn die Bugs gefühlsmässig annehmbar sind. Bitte informier dich genau, was write tut: http://unixhelp.ed.ac.uk/CGI/man-cgi?write+2
(Diese Seite bekommst du übrigens auch, wenn du auf deinem Linux-System in der Konsole «man 2 write» eingibst.)Eine Antwort erübrigt sich IMHO. BTW, wieso benutzt du nicht einfach Telnet oder SSH?
-
Alles klar, danke! Bin erst vor kurzem auf Linux umgestiegen. Ich benutze kein Telnet weil ich es viel interessanter finde es selbst zu coden.