将控制台输出重定向到 C# 控制台C++不会打印任何内容
Redirection of C++ console output to C# console doesn't print anything
我想将C++控制台的输出(printf(")语句)重定向到C#控制台。
以下是我得到的
Process e = new Process();
e.StartInfo.UseShellExecute = false;
e.StartInfo.RedirectStandardOutput = true;
e.StartInfo.FileName = "C:\Users\Projects\ot\x64\Debug\ot.exe";
e.OutputDataReceived += (s, e) => Console.WriteLine(e.Data);
e.Start();
e.BeginOutputReadLine();
但我没有得到任何输出。C++控制台不打印任何东西(这意味着输出已经重定向),这些代码行也不是C#。
如何解决此问题?
谢谢,
尝试使用:
Process e = new Process();
e.StartInfo.UseShellExecute = false;
e.StartInfo.RedirectStandardOutput = true;
e.StartInfo.RedirectStandardError = true;
e.StartInfo.FileName = "C:\Users\Projects\ot\x64\Debug\ot.exe";
e.OutputDataReceived += (s, e) => Console.WriteLine(e.Data);
e.ErrorDataReceived += (s, e) => Console.WriteLine(e.Data);
e.Start();
e.BeginOutputReadLine();
e.BeginErrorReadLine();
e.WaitForExit();
e.CancelErrorRead();
e.CancelOutputRead();
我已经建立了一个基类,可以用来包装流程类并帮助与其他流程交互。
相关文章:
- c ++控制台应用程序,如何在控制台外部打印字符
- 控制台打印时间功能产生1
- 如何通过按 F2 或 F3 等键使控制台打印某些内容
- cout 不打印任何内容到控制台
- 如何在 C++ 中将 U32 字符串和 U16string 打印到控制台
- 打印到文件和控制台 C++
- 在 c++ 中打印到控制台的最佳方式是什么?
- 我的控制台正在打印随机单词以及没有执行正确的数学运算
- C++控制台打印在同一行上,带回车符
- 硬编码字符串与强制转换为 PUCHAR 并打印到控制台时从控制台读取的字符串的结果不同
- V8 控制台.log不打印
- 使用 C++ shell 为 C++ 中的 2 D 动态数组赋值,控制台不会打印出任何内容
- cURL 保持打印传输到控制台?
- SDL 未打印到控制台
- qDebug() 在升级到 ubuntu 17.10(和 Fedora)后停止工作(不再打印到控制台)
- 使用具有 UTF8 编码的源文件将 UTF8 符号打印到 Windows 控制台
- Eclipse C 控制台打印订单Linux
- 基本的控制台打印程序
- istream导致控制台打印加倍
- 使用 Libtcod,如何控制台>打印具有动态颜色量的字符串?