# STDOUT to StringIO

**URL:** <https://www.ruby-forum.com/t/stdout-to-stringio/120868>\
**Category:** Ruby\
**Created:** [November 21, 2007, 10:15am UTC](https://www.ruby-forum.com/t/stdout-to-stringio/120868 "2007-11-21T10:15:33Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Fredrik](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/f/cab0a1/32.png) [@Fredrik](https://www.ruby-forum.com/u/Fredrik)\
**Post date:** [November 21, 2007, 10:15am UTC](https://www.ruby-forum.com/t/stdout-to-stringio/120868/1 "2007-11-21T10:15:33Z")

</div>

I know that I can redirect my standard output to a file like this:

STDOUT.reopen(File.open(filename,‘w’))

But then, why can’t I redirect it to a string like this? :

output = StringIO.open(’’,‘w’)  
STDOUT.reopen(output)

> TypeError: can’t convert StringIO into String

Can somebody see what I am doing wrong?

Thanks a lot!  
Fredrik

---

<div class="post-metadata">

**Author:** ![Fredrik](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/f/cab0a1/32.png) [@Fredrik](https://www.ruby-forum.com/u/Fredrik)\
**Post date:** [November 21, 2007, 11:20am UTC](https://www.ruby-forum.com/t/stdout-to-stringio/120868/2 "2007-11-21T11:20:02Z")

</div>

On Nov 21, 2007, at 01:15 , Fredrik wrote:

> Can somebody see what I am doing wrong?
> 
> > $stderr = output  
> > =\> #StringIO:0x404e8
> 
> > warn “blah”  
> > =\> nil
> 
> > output.string  
> > =\> “blah\n”

---

<div class="post-metadata">

**Author:** ![Fredrik](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/f/cab0a1/32.png) [@Fredrik](https://www.ruby-forum.com/u/Fredrik)\
**Post date:** [November 21, 2007, 10:10pm UTC](https://www.ruby-forum.com/t/stdout-to-stringio/120868/3 "2007-11-21T22:10:46Z")

</div>

On Nov 21, 2007, at 02:18 , Ryan D. wrote:

> > > TypeError: can’t convert StringIO into String
> > 
> > Can somebody see what I am doing wrong?
> 
> > > $stderr = output  
> > > =\> #StringIO:0x404e8  
> > > warn “blah”  
> > > =\> nil  
> > > output.string  
> > > =\> “blah\n”

Also:

[http://blog.segment7.net/articles/2006/08/17/stdout-vs-stdout](http://blog.segment7.net/articles/2006/08/17/stdout-vs-stdout)
