Printing output of c program to a file in Linux

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?

ADVERTISEMENTS

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

🐧 Get the latest tutorials on SysAdmin, Linux/Unix, Open Source/DevOps topics:
CategoryList of Unix and Linux commands
File Managementcat
FirewallCentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Network Utilitiesdig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot cron disown fg jobs killall kill pidof pstree pwdx time
Searchinggrep whereis which
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w
WireGuard VPNCentOS 8 Debian 10 Firewall Ubuntu 20.04

ADVERTISEMENTS
5 comments… add one
  • sairam kunala Aug 18, 2007 @ 17:44

    for redirecting stderr to a file

    command 2> error.file

  • sher Oct 27, 2007 @ 9:06

    offcourse this is very helpful document

  • soraver May 6, 2008 @ 12:40

    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 :)

  • aftab Jun 12, 2011 @ 4:38

    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

  • prakash Nov 21, 2011 @ 6:45

    Thanks a lot dear ,

Leave a Reply

Your email address will not be published.

Use HTML <pre>...</pre>, <code>...</code> and <kbd>...</kbd> for code samples.