From 6e453b12bbe63f7bcec938cae39393532ba44f8c Mon Sep 17 00:00:00 2001 From: Kavishka <kavishka2.colambatantri@live.uwe.ac.uk> Date: Thu, 31 Mar 2022 16:21:57 -0400 Subject: [PATCH] - Files used for Task 8; --- .../message.txt | 1 + .../task8.c | 23 +++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 Task 8 - Invoking External Programs Using system() versus execve()/message.txt create mode 100644 Task 8 - Invoking External Programs Using system() versus execve()/task8.c diff --git a/Task 8 - Invoking External Programs Using system() versus execve()/message.txt b/Task 8 - Invoking External Programs Using system() versus execve()/message.txt new file mode 100644 index 0000000..e965047 --- /dev/null +++ b/Task 8 - Invoking External Programs Using system() versus execve()/message.txt @@ -0,0 +1 @@ +Hello diff --git a/Task 8 - Invoking External Programs Using system() versus execve()/task8.c b/Task 8 - Invoking External Programs Using system() versus execve()/task8.c new file mode 100644 index 0000000..9613763 --- /dev/null +++ b/Task 8 - Invoking External Programs Using system() versus execve()/task8.c @@ -0,0 +1,23 @@ +#include <string.h> +#include <stdio.h> +#include <stdlib.h> +#include <unistd.h> +int main(int argc, char *argv[]) +{ + char *v[3]; + char *command; + if(argc < 2) { + printf("Please type a file name.\n"); + return 1; + } + v[0] = "/bin/cat"; v[1] = argv[1]; v[2] = NULL; + command = malloc(strlen(v[0]) + strlen(v[1]) + 2); + sprintf(command, "%s %s", v[0], v[1]); + /* + * Use only one of the following + * commands in each test. + */ +// system(command); + execve(v[0], v, NULL); + return 0; +} -- GitLab