(Linux/Unix) Integer in über Pipe übergeben?!
-
Hallo liebe C++ Forumuser!
Ich habe ein kleines C Programm geschrieben, dass mehrere Prozesse mittels fork() erstellt. Jetzt sollen zwischen diesen Prozessen über eine Pipe Integer Variablen getauscht werden. Mit Char-Variablen hat das ganze schon prima funktioniert wenn ich jedoch wie in dem Beispiel hier das ganze über Integer versuche bekomme ich leider beim read einen falschen Wert zurück.
Code:
.. (unwichtiger Code weggelassen)
int deskr[2];
int ibuf[1];
..
pipe(deskr) (Pipe im Vaterprozess erstellt)
..
(im Kindprozess 1:)
ibuf[0]=5; (Integer Wert der übertragen werden soll, an Arraypos 0)
write(deskr[1],ibuf,1);
..
(im Kindprozess 2:)
read(deskr[0],ibuf,1);
..Wenn ich nun im Kindprozess 2 den ibuf[0] ausgebe, dann erhalte ich den Wert 0 zurück anstatt 5. Woran kann das liegen? Ist es überhaupt möglich Integer zu übertragen?
Vielen Dank schonnmal
VeNom
-
so wie ich das sehe, willst du ins Linux/Unix forum.
C++ kennt keine Prozesse oder Threads. und auch keine Pipes