fork download
  1. #include <unistd.h>
  2.  
  3. int main(void) {
  4. // duplicate stdout
  5. int duplicate = dup(1);
  6. unsigned counter = 0;
  7. for (; counter < 10; ++counter) {
  8. if (counter % 2 == 0) {
  9. // redirect IO on FD duplicate to stderr
  10. dup2(2, duplicate);
  11. } else {
  12. // redirect it back to stdout
  13. dup2(1, duplicate);
  14. }
  15. write (duplicate, "A ", 2);
  16. write (1, "B\n", 2);
  17. }
  18. close (duplicate);
  19. return 0;
  20. }
  21.  
Success #stdin #stdout #stderr 0s 2156KB
stdin
Standard input is empty
stdout
B
A B
B
A B
B
A B
B
A B
B
A B
stderr
A A A A A