Printing output of c program to a file in Linux

by Vivek Gite on August 17, 2007 · 5 comments

Q. I’ve written a small program that does something useful for me. I always get output on screen. Sometime I need to send output to a file. How do I print output of my program to a file w/o making any changes to code?

A. Bash shell (and many other modern UNIX shell) supports the concept of I/O redirection It allows you to redirect standard output (screen), standard error and standard input (keyboard) using the following syntax.
command > output.file
command < input.file
command >& error-n-output.file

So to redirect output of your own C program just enter:
$ ./myprogr > output.txt
$ cat output.txt

Featured Articles:

Share this with other sys admins!
Facebook it - Tweet it - Print it -

{ 5 comments… read them below or add one }

1 sairam kunala August 18, 2007

for redirecting stderr to a file

command 2> error.file

Reply

2 sher October 27, 2007

offcourse this is very helpful document

Reply

3 soraver May 6, 2008

in addition by using
command >> file
you can reuse the same file without deleting the previous data.
>> adds text to the end of the file :)

Reply

4 aftab June 12, 2011

Thanks a lot for that,
But is there a way i can write the output of a c program into a file from WITHIN THE PROGRAM. For example, i know this doesnt work, but what can i do to repliacte this

system(“ls”) > t1.txt

Reply

5 prakash November 21, 2011

Thanks a lot dear ,

Reply

Leave a Comment

You can use these HTML tags and attributes for your code and commands: <strong> <em> <ol> <li> <u> <ul> <blockquote> <pre> <a href="" title="">
What is 14 + 3 ?
Please leave these two fields as-is:
Solve the simple math so we know that you are a human and not a bot.




Previous post:

Next post: