fork(1) download
  1. #include <stdio.h>
  2. #include <errno.h>
  3. #include <string.h>
  4. #include <unistd.h>
  5.  
  6.  
  7. int main(void)
  8. {
  9. unsigned char c;
  10. ssize_t err = 1;
  11. int in_space = 0;
  12.  
  13. for (err = read(STDIN_FILENO, &c, 1);
  14. err == 1;
  15. err = read(STDIN_FILENO, &c, 1)) {
  16.  
  17. if (!in_space) {
  18. if ((err = write(STDOUT_FILENO, &c, 1)) != 1) break;
  19. if (c == ' ') in_space = 1;
  20. } else if (c != ' ') {
  21. in_space = 0;
  22. if ((err = write(STDOUT_FILENO, &c, 1)) != 1) break;
  23. }
  24. }
  25. printf("\nerror %ld, %s\n", err, strerror(errno));
  26. return err;
  27. }
  28.  
Success #stdin #stdout 0s 2248KB
stdin
11 22  33   44444   66      .   
stdout
11 22 33 44444 66 . 
error 0, Success