Och, wat een domme fouten die ik in de broncode in de vorige post maakte, zo zou het moeten zijn:
#include <stdio.h>
#include <string.h>
#include <unistd.h>
int main ( void )
{
unsigned int pijp [ 2 ];
unsigned char fork_waarde, buffer [ 20 ] = "Hallo wereld!";
pipe ( pijp );
fork_waarde = fork ( );
if ( fork_waarde == -1 )
{
printf ( "Er trad een fout op: de functie fork() faalde." );
return 0;
}
else if ( fork_waarde )
{
close ( pijp [ 0 ] );
write ( pijp [ 1 ], buffer, strlen ( buffer ) + 1 );
}
else
{
close ( pijp [ 1 ] );
read ( pijp [ 0 ], buffer, strlen ( buffer ) + 1 );
printf ( "%s", buffer );
}
return 0;
}