Guest User

Untitled

a guest
Jul 20th, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.62 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3.  
  4. class scoped_cout_redirector
  5. {
  6. public:
  7. scoped_cout_redirector(const std::string& filename)
  8. :backup_(std::cout.rdbuf())
  9. ,filestr_(filename.c_str())
  10. ,sbuf_(filestr_.rdbuf())
  11. {
  12. std::cout.rdbuf(sbuf_);
  13. }
  14.  
  15. ~scoped_cout_redirector()
  16. {
  17. std::cout.rdbuf(backup_);
  18. }
  19.  
  20. private:
  21. scoped_cout_redirector();
  22. scoped_cout_redirector(const scoped_cout_redirector& copy);
  23. scoped_cout_redirector& operator =(const scoped_cout_redirector& assign);
  24.  
  25. std::streambuf* backup_;
  26. std::ofstream filestr_;
  27. std::streambuf* sbuf_;
  28. };
Add Comment
Please, Sign In to add comment