Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Exercise2 - BORDEA LIVIU VALENTIN
- #include <errno.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <unistd.h>
- #include <sys/wait.h>
- #define BUFSIZE 1000
- void remove_space(){};
- void remove_digit(){};
- void remove_spaces(char* s) {
- const char* d = s;
- do {
- while (*d == ' ') {
- ++d;
- }
- } while (*s++ = *d++);
- }
- void remove_digits(char* s) {
- const char* d = s;
- do {
- while (*d == '1' || *d == '2' || *d == '3'|| *d == '4'|| *d == '5'|| *d == '6'|| *d == '7'|| *d == '8'|| *d == '9'|| *d == '0') {
- ++d;
- }
- } while (*s++ = *d++);
- }
- int main(int argc, char *argv[])
- {
- FILE *fp = fopen(argv[1], "r");
- char buff[BUFSIZE];
- while(fgets(buff, BUFSIZE - 1, fp) != NULL)
- {
- printf ("%s\n", buff);
- }
- fclose(fp);
- remove_spaces(buff);
- printf ("%s\n", buff);
- remove_digits(buff);
- printf ("%s\n", buff);
- //-----------
- if(fork() == 0)
- {
- printf("[CHILD] pid %d from [PARENT] pid %d\n",getpid(),getppid());
- remove_space();
- exit(0);
- }
- wait(NULL);
- if(fork()==0)
- {
- printf("[CHILD] pid %d from [PARENT] pid %d\n",getpid(),getppid());
- //remove_nonletter();
- exit(0);
- }
- wait(NULL);
- if(fork()==0)
- {
- printf("[CHILD] pid %d from [PARENT] pid %d\n",getpid(),getppid());
- remove_digit();
- exit(0);
- }
- wait(NULL);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement