2013-01-03 111 views
3

真的很新的这个,我已经阅读了这里的答案,他们迄今为止帮助,但我仍然有点卡住。写控制台输出到文件

我设法创建了一个程序,显示来自DOB输入的用户starsign。

现在我想将结果发送到一个文本文件。我可以创建文件,但我不知道如何将控制台输出/程序结果发送到文件。

+0

欢迎SO。可能的重复:http://stackoverflow.com/questions/61110/how-to-save-the-output-of-a-console-application?rq=1 http://stackoverflow.com/questions/420429/mirroring- console-output-to-a-file?rq = 1 – Rotem

回答

1

如果您已经计算出生日期并将其写入控制台,您将答案存储在一个变量中,那么您所需要做的就是将其写入文本文件 - 除非我错过了某些内容问题?

http://msdn.microsoft.com/en-us/library/aa287548(v=vs.71).aspx

+1

+1:这对于问题本身来说可能是正确的,也不能立即回答OP的问题。 –

6
Console.WriteLine("Hello World"); 
FileStream fs = new FileStream("Test.txt", FileMode.Create); 
// First, save the standard output. 
TextWriter tmp = Console.Out; 
StreamWriter sw = new StreamWriter(fs); 
Console.SetOut(sw); 
Console.WriteLine("Hello file"); 
Console.SetOut(tmp); 
Console.WriteLine("Hello World"); 
sw.Close(); 

http://msdn.microsoft.com/en-us/library/system.console.setout.aspx

+0

+1。 'Console.SetOut'是重定向输出的好方法。 –

+2

技术上正确但每翻译一次写操作会很快变得非常笨拙。一个更易于管理的方法是在最后建立一个大字符串输出,然后写出两次或编写一个将输出多路复用到多个流的类。 –