bequiet Geschrieben 23. März 2009 Teilen Geschrieben 23. März 2009 Hey leute. Vielleicht könnt ihr mir da helfen, hab ne Aufgabe ein C prog zu schreiben, welches eine Pipe erzeugt und die Integerwerte der zurückgelieferten Filedeskriptoren ausgibt. Danach soll des in die pipe schreiben und den Wert in die shell ausgeben. Hier mein Ansatz, funktioniert leider nicht^^ Danke im Vorraus. #include <sys/types.h> #include <stdio.h> #include <stdlib.h> int void(main) { int pfds[2]; char* test = "moep"; char buffer [512]; if(pipe( pfds ) < 0) { fprintf(stderr, "Fehler beim erstellen der Pipe"); } write( pfds[1], test, strlen(test)+1 ); read( pfds[0], buffer, 512 ); printf(); } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 23. März 2009 Teilen Geschrieben 23. März 2009 funktioniert leider nicht^^ ...ist keine ausreichende Fehlerbeschreibung (siehe Signatur ). Aber als erster Tipp: int void(main) sieht nach einem Dreher aus. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bequiet Geschrieben 23. März 2009 Autor Teilen Geschrieben 23. März 2009 aah k.. habs getauscht. Jetzt kommen folgende Fehlermeldungen pipe2.c: In Funktion »main«: pipe2.c:9: Warnung: Initialisierung erzeugt Ganzzahl von Zeiger ohne Typkonvertierung pipe2.c:15: Warnung: Unverträgliche implizite Deklaration der eingebauten Funktion »strlen« pipe2.c:15: Warnung: Ãœbergabe des Arguments 1 von »strlen« erzeugt Zeiger von Ganzzahl ohne Typkonvertierung pipe2.c:15: Warnung: Ãœbergabe des Arguments 2 von »write« erzeugt Zeiger von Ganzzahl ohne Typkonvertierung pipe2.c:18: Warnung: Ãœbergabe des Arguments 1 von »printf« erzeugt Zeiger von Ganzzahl ohne Typkonvertierung pipe2.c:18: Warnung: Format ist kein Zeichenkettenliteral, und keine Formatargumente Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 23. März 2009 Teilen Geschrieben 23. März 2009 Keine Ahnung, was dein Compiler an Zeile 9 auszusetzen hat. Welcher ist es denn? Für strlen brauchst du <string.h>. Und printf ohne Parameter ergibt keinen Sinn . Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bequiet Geschrieben 23. März 2009 Autor Teilen Geschrieben 23. März 2009 ja printf will ich die test ausgeben. habs nur nochnet reingeschrieben.. ich benutze gcc -o Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bequiet Geschrieben 23. März 2009 Autor Teilen Geschrieben 23. März 2009 #include <sys/types.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> int main(void) { int pfds[2]; char test = "adbcde"; char buffer[512]; if(pipe( pfds ) < 0 ) { fprintf(stderr, "Fehler beim erstellen der pipe"); } write( pfds[1], test, strlen(test)+1 ); read( pfds[0], buffer, 512 ); printf(test); } pipe2.c: In Funktion »main«: pipe2.c:10: Warnung: Initialisierung erzeugt Ganzzahl von Zeiger ohne Typkonvertierung pipe2.c:16: Warnung: Ãœbergabe des Arguments 1 von »strlen« erzeugt Zeiger von Ganzzahl ohne Typkonvertierung pipe2.c:16: Warnung: Ãœbergabe des Arguments 2 von »write« erzeugt Zeiger von Ganzzahl ohne Typkonvertierung pipe2.c:19: Warnung: Ãœbergabe des Arguments 1 von »printf« erzeugt Zeiger von Ganzzahl ohne Typkonvertierung pipe2.c:19: Warnung: Format ist kein Zeichenkettenliteral, und keine Formatargumente So siehts aktuell aus, hab ein paar Sachen geändert. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bequiet Geschrieben 23. März 2009 Autor Teilen Geschrieben 23. März 2009 problem gelöst, kann closed werden. Danke für die Hilfe. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Crush Geschrieben 11. März 2010 Teilen Geschrieben 11. März 2010 Schon blöd wenn man Probleme aufwirft, löst und der Nachwelt die Lösung nicht zeigt. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Guybrush Threepwood Geschrieben 11. März 2010 Teilen Geschrieben 11. März 2010 schon blöd wenn der Thread ein Jahr alt ist Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Crush Geschrieben 11. März 2010 Teilen Geschrieben 11. März 2010 Das war mir schon klar, mit der Lösung hätte ich ja nix sagen brauchen. Wenn das immer so laufen würde, müßte man ja ständig neue Threads zum selben Thema aufmachen. Ist das erwünscht? So hat bequiet wenigstens noch die Möglichkeit, die Lösung nachzuposten. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.