我在一个小捏:)
我发现了一个非常奇怪的行为,我无法弄清楚它可能是什么原因.
它与C#Visual Studio 2008中的控制台记录有关
例如,命令行的正常行为是:
1)如果我使用"dir"命令,我会看到目录的内容
2)如果我使用"dir> 1.txt",我将获得1.txt文件中目录的内容.
所以这是正常行为而且有效.现在回到我的问题.
在我正在使用的c#应用程序中,我有一个测试列表,我想在命令行中使用我的应用程序时列出它们.所以我有:
Console.WriteLine("Start running " + sn);
Run Code Online (Sandbox Code Playgroud)
我正常运行应用程序的结果是:(我发送的命令)
Application.exe -run 1.test,2.test,3.test
Run Code Online (Sandbox Code Playgroud)
输出:
Start running 1.test
Start running 2.test
Start running 3.test
Run Code Online (Sandbox Code Playgroud)
但如果我使用此命令:
Application.exe -run 1.test,2.test,3.test > 1.txt
Run Code Online (Sandbox Code Playgroud)
三个Start start命令从stdout中消失,但1.txt是BLANK.
我不知道响应在哪里,我无法记录响应,但我可以直观地看到它.但是当我将STDOUT重定向到日志时,它既不存在于视觉上也不存在于日志中.
任何人都有任何想法?
lis*_*isp 10
输出到文件是缓冲的.在最坏的情况下,内容将在应用程序完成后保存.要强制缓冲区刷新,您可以调用:
Console.Out.Flush();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7109 次 |
| 最近记录: |