From 8253f7ac0ca070ecf0cfdaceeb90617083aec0c5 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Tue, 30 May 2017 23:52:10 +0200 Subject: [PATCH] Respect the asked string format for stdout message passing between child and parent processes. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérôme Benoit --- TD1/part_two/exo.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/TD1/part_two/exo.c b/TD1/part_two/exo.c index 0194d04..bb6f3a5 100644 --- a/TD1/part_two/exo.c +++ b/TD1/part_two/exo.c @@ -25,6 +25,7 @@ int main() { exit(EXIT_FAILURE); }; + const char* str_fmt = "[%d] Coucou papa !\n"; pid_t cpid = fork(); if (cpid == -1) { @@ -33,21 +34,16 @@ int main() { } else if (cpid == 0) { printf("Fils:\n"); show_proc_pids(); - const char* msg = "Coucou papa !"; close(pipefd[0]); - write(pipefd[1], msg, strlen(msg)); + write(pipefd[1], str_fmt, strlen(str_fmt)); close(pipefd[1]); exit(EXIT_SUCCESS); } else { printf("Parent:\n"); show_proc_pids(); close(pipefd[1]); - - while (read(pipefd[0], &buf, 1) > 0) { - write(STDOUT_FILENO, &buf, 1); - } - - write(STDOUT_FILENO, "\n", 1); + read(pipefd[0], &buf, strlen(str_fmt)); + printf(&buf, getpid()); close(pipefd[0]); wait(NULL); exit(EXIT_SUCCESS); -- 2.34.1