主题:输出重定向问题?请教了
我编写了一个C语言程序如下:
#include <stdio.h>
main()
{
printf("Hello World");
}
保存文件为:a.c
编译生成了a.exe程序
在cmd里面输入a.exe就能输出hello world,然后截获,但是有的时候有不能在cmd上面显示hello world字符串,我想用进程来启动a.exe然后直接接火这个字符串,不知道如何做是好,还望各位能给点意见
下面是我的代码:
Process proc = new Process();
proc.StartInfo.FileName = "cmd.exe";
proc.StartInfo.WorkingDirectory = "d:\\c\\c_exe\\";
proc.StartInfo.CreateNoWindow = true;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardInput = true;//标准输入重定向
proc.StartInfo.RedirectStandardOutput = true;//标准输出重定向
proc.Start();
proc.StandardInput.WriteLine("a.exe");
proc.StandardInput.WriteLine("exit");
sExecResult = proc.StandardOutput.ReadToEnd();//返回脚本执行的结果
proc.WaitForExit();
proc.Close();
我想通过运行cmd来运行a.exe得到输出结果,可是我失败了,谁有什么解决方法呢!!
#include <stdio.h>
main()
{
printf("Hello World");
}
保存文件为:a.c
编译生成了a.exe程序
在cmd里面输入a.exe就能输出hello world,然后截获,但是有的时候有不能在cmd上面显示hello world字符串,我想用进程来启动a.exe然后直接接火这个字符串,不知道如何做是好,还望各位能给点意见
下面是我的代码:
Process proc = new Process();
proc.StartInfo.FileName = "cmd.exe";
proc.StartInfo.WorkingDirectory = "d:\\c\\c_exe\\";
proc.StartInfo.CreateNoWindow = true;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardInput = true;//标准输入重定向
proc.StartInfo.RedirectStandardOutput = true;//标准输出重定向
proc.Start();
proc.StandardInput.WriteLine("a.exe");
proc.StandardInput.WriteLine("exit");
sExecResult = proc.StandardOutput.ReadToEnd();//返回脚本执行的结果
proc.WaitForExit();
proc.Close();
我想通过运行cmd来运行a.exe得到输出结果,可是我失败了,谁有什么解决方法呢!!