Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

One way to output console text in C# to a document that cannot be edited is by redirecting the standard output to a file. This can be achieved by using the Console.SetOut method.

Here is an example code:

using System;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        // Open a file for writing
        using (StreamWriter writer = new StreamWriter("output.txt"))
        {
            // Redirect the console output to the file
            Console.SetOut(writer);

            // Write some text to the console
            Console.WriteLine("This text will be written to the output file");

            // Restore the console output
            Console.SetOut(new StreamWriter(Console.OpenStandardOutput()));
        }

        Console.WriteLine("Console output has been restored");
    }
}

Note that once the output is redirected to the file, the console output will not be visible until it is restored. In the example above, the output will be restored after the file is closed.