views:

290

answers:

2

I have a UNIX application written in ansi C that writes data directly to a file. This file is specified by one of the argument parameters.

For testing purposes, I can use /dev/null for the filename, which effectively redirects the output to nothing.

I would like to be able to redirect the output to stdout by a similar method. Is this possible? If so, how? I've tried the following with no luck:

a.out -f /dev/ttys000

(where /dev/ttys000 was the tty specified by a 'w' listing)

+6  A: 

/dev/stdout

laalto
That's exactly what I was looking for. Thanks
Joshua Berry
+2  A: 

You could detect the string "stdout" argument and then use the stdout filehandle in C (1) http://en.wikipedia.org/wiki/File_descriptor

Or use /dev/stdout or /dev/fd/1

If this is a 'built-in' feature rather than a temporary thing for testing, you might want to use the C functions on the stdout file descriptor rather than the device node as the C standard is a bit more hardy than the POSIX standard imho.

Aiden Bell