Rittler
Stümper
Hi @ all!
Ich hab vor ein paar Wochen angefangen in C zu programmieren und habe nun ein Problem zu dem mir einfach nichts mehr einfällt. Und zwar geht es um folgendes:
Ich habe 3 *.c Dateien, eine für den Parentprocecc, eine für den Childprocess und eine mit der main-Funktion. Der Plan ist nun, dass der main-Funktion ein Dateiname übergeben wird, welche dann vom Parentprocess eingelesen und in eine Pipe geschrieben wird und dann vom Childprocess auf der Konsole wieder ausgegeben wird.
Es klappt alles bis zu dem Punkt an dem der Childprocess von der Pipe lesen soll, dort krieg ich immer einen 'bad adress' Fehler.
Ich übergebe an die Childroutine den Pipedeskriptor und die Dateigröße, also:
und lese dann in der Childroutine folgendermaßen von der Pipe, nachdem ich per
den writechannel der Pipe des Childprocess geschlossen habe
Könnt ihr mir sagen, wo da der Fehler liegen könnte?
Ich hab echt keine Idee mehr...
Vielen Dank schonmal für euere Hilfe!
Ich hab vor ein paar Wochen angefangen in C zu programmieren und habe nun ein Problem zu dem mir einfach nichts mehr einfällt. Und zwar geht es um folgendes:
Ich habe 3 *.c Dateien, eine für den Parentprocecc, eine für den Childprocess und eine mit der main-Funktion. Der Plan ist nun, dass der main-Funktion ein Dateiname übergeben wird, welche dann vom Parentprocess eingelesen und in eine Pipe geschrieben wird und dann vom Childprocess auf der Konsole wieder ausgegeben wird.
Es klappt alles bis zu dem Punkt an dem der Childprocess von der Pipe lesen soll, dort krieg ich immer einen 'bad adress' Fehler.
Ich übergebe an die Childroutine den Pipedeskriptor und die Dateigröße, also:
Code:
int childRoutine(int *pipedeskriptor, long filesize)
und lese dann in der Childroutine folgendermaßen von der Pipe, nachdem ich per
Code:
close(pipedeskriptor[1]);
den writechannel der Pipe des Childprocess geschlossen habe
Code:
read(pipedeskriptor[0], buf, filesize);
Könnt ihr mir sagen, wo da der Fehler liegen könnte?
Ich hab echt keine Idee mehr...
Vielen Dank schonmal für euere Hilfe!