Advertisement
Guest User

Untitled

a guest
Feb 19th, 2020
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.45 KB | None | 0 0
  1. //Exercise2 - BORDEA LIVIU VALENTIN
  2. #include <errno.h>
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. #include <string.h>
  6. #include <unistd.h>
  7. #include <sys/wait.h>
  8.  
  9. #define BUFSIZE 1000
  10. void remove_space(){};
  11. void remove_digit(){};
  12. void remove_spaces(char* s) {
  13. const char* d = s;
  14. do {
  15. while (*d == ' ') {
  16. ++d;
  17. }
  18. } while (*s++ = *d++);
  19. }
  20.  
  21. void remove_digits(char* s) {
  22. const char* d = s;
  23. do {
  24. while (*d == '1' || *d == '2' || *d == '3'|| *d == '4'|| *d == '5'|| *d == '6'|| *d == '7'|| *d == '8'|| *d == '9'|| *d == '0') {
  25. ++d;
  26. }
  27. } while (*s++ = *d++);
  28. }
  29.  
  30. int main(int argc, char *argv[])
  31. {
  32. FILE *fp = fopen(argv[1], "r");
  33. char buff[BUFSIZE];
  34. while(fgets(buff, BUFSIZE - 1, fp) != NULL)
  35. {
  36. printf ("%s\n", buff);
  37. }
  38. fclose(fp);
  39. remove_spaces(buff);
  40. printf ("%s\n", buff);
  41. remove_digits(buff);
  42. printf ("%s\n", buff);
  43. //-----------
  44.  
  45.  
  46. if(fork() == 0)
  47. {
  48. printf("[CHILD] pid %d from [PARENT] pid %d\n",getpid(),getppid());
  49. remove_space();
  50. exit(0);
  51. }
  52. wait(NULL);
  53. if(fork()==0)
  54. {
  55. printf("[CHILD] pid %d from [PARENT] pid %d\n",getpid(),getppid());
  56. //remove_nonletter();
  57. exit(0);
  58. }
  59. wait(NULL);
  60. if(fork()==0)
  61. {
  62. printf("[CHILD] pid %d from [PARENT] pid %d\n",getpid(),getppid());
  63. remove_digit();
  64. exit(0);
  65. }
  66. wait(NULL);
  67. return 0;
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement