Y
yonge23
Unregistered / Unconfirmed
GUEST, unregistred user!
我有个"001.C"的文件:<br>#include <stdio.h><br>#include <math.h><br>const g=10;<br>main()<br>{<br>int a,b,c;<br>printf(" A= "<br>scanf("%d",&a);<br>printf(" B= "<br>scanf("%d",&b);<br>c=a+b;<br>printf(" A+B = %d/n",c);<br>}<br><br>我现在想用DELPHI来测试该程序代码是否正确..<br><br>首先我先利用TURBOC的TCC.EXE对"001.C"进行编译.使之生成"001.EXE"可执行文件.我用如下方法:<br>ShellExecute(Handle, 'open', PChar('command.com'), PChar('/c C:/turboc2/tcc -e001 001.c >p.txt'), nil, SW_SHOW);<br>这步可以成功解决了,也可以正确地生成可执行程序"001.EXE".<br><br>接下来,我要调用"001.EXE"进行测试了.<br>我把测试数据:1 2 放在input.txt 文件中.想把测试结果的数据放在output.txt文件中.<br>我用如下方法:<br>ShellExecute(Handle, 'open', PChar('command.com'), PChar('/c 001 <input.txt >output.txt'), nil, SW_SHOW);<br>这样,测试数据就不用通过手动从键盘上输入.只要读取input.txt 文件中的测试数据就可以了.<br>但是用ShellExecute函数时,当001.EXE程序的代码如下时:<br>#include <stdio.h><br>#include <math.h><br>const g=10;<br>main()<br>{<br>int a,b,c;<br>printf(" A= "<br>scanf("%d",&a);<br>printf(" B= "<br>scanf("%d",&b);<br>while (g==10) ;<br>c=a+b;<br>printf(" A+B = %d/n",c);<br>}<br>由于while (g==10) ;,发生逻辑错误,进入死循环.得用DELPHI程序在一段时间(如2秒)自动结果001.EXE程序.这时用ShellExecute函数就不大方便了.<br>所以我想用Creatprocess函数来代替<br>ShellExecute(Handle, 'open', PChar('command.com'), PChar('/c 001 <input.txt >output.txt'), nil, SW_SHOW);<br>实现同样的功能,并且能够结果001.EXE的死循环问题.<br><br>有哪位大哥有空能不能帮我实现这个功能,,,感谢万份.<br><br>不知道我能否把问题描述清楚...如果有不清楚的再说...