C ++ - 输出ASCII到cmd.exe?

时间:2014-01-11 02:09:19

标签: c++ windows batch-file cmd piping

所以,我相信我必须将I / O从我的应用程序传输到cmd.exe。我正在尝试为cmd创建一种“命令”,可以直接从cmd或通过批处理文件调用它。我不想要一个窗口,这就是为什么我使用WinMain作为入口点,我的应用程序中没有窗口创建功能,因此我不会创建窗口。

如果我需要将I / O从我的应用程序传送到当前打开的cmd窗口,那么这不是涉及抓取cmd的输出句柄,将一串文本(ASCII)传递给它的输出(可能是{{1命令?)

我是否走在正确的轨道上?我目前正在Google和SOF上搜索有关管道I / O到其他正在运行的控制台程序的方法,并将在此之前进行搜索。

另外,有没有办法获取存储在cmd内部的变量?批量处理时,您可以通过echo调用变量,或者如果%variable%已启用,则可以使用setlocal enabledelayedexpansion。如果是这样,怎么样?

1 个答案:

答案 0 :(得分:0)

不,你没有了。答案更简单: - )

只需写入stdout即可。将任何错误消息写入stderr,对于输入,从stdin读取。这些流设置为写入控制台(除非控制台已重定向其输入/输出)。然后,您的程序可以用作对批处理脚本有用的命令。它将正确地遵守从命令行或批处理脚本实例化的任何重定向或管道,而您无需进一步的工作。