@ Крис Хаас, ты получил 50 баллов? Я новичок здесь
о, пожалуйста, не смейтесь над этим: x
я пытаюсь создать простой инструмент для тестирования программного обеспечения в VB.NET
я создал простую C-программу PROG.EXE, которая сканирует число и печатает вывод, и начал собирать свой тестер, он должен выполнитьPROG.EXE output.txtТаким образом, PROG.EXE берет ввод из input.txt и печатает вывод в output.txt
но я потерпел неудачу, сначала я попробовал Process.start, а затем оболочку, но ничего не получалось!
так что я сделал этот трюк, коды VB.NET генерируют пакетный файл с этими кодамиPROG.EXE output.txt, но снова я потерпел неудачу, хотя VB.NET создал командный файл и тоже выполняет, но ничего не произошло! но когда я вручную запустил командный файл, я получил успех!
я попытался выполнить пакетный файл, затем sendkey VBCR / LF / CRLF, но ничего не происходит!
в чем дело ?
Мой код VB.NET, я использую Visual Studio 2010 Professional
Option Explicit On
Option Strict On
Public Class Form1
Dim strFileName As String
Private Sub btnRun_Click() Handles btnRun.Click
Dim strOutput As String
Using P As New Process()
P.StartInfo.FileName = strFileName
P.StartInfo.Arguments = txtInput.Text
P.StartInfo.RedirectStandardOutput = True
P.StartInfo.UseShellExecute = False
P.StartInfo.WindowStyle = ProcessWindowStyle.Hidden ' will this hide the console ?
P.Start()
Using SR = P.StandardOutput
strOutput = SR.ReadToEnd()
End Using
End Using
txtOutput.Text = strOutput
End Sub
Private Sub btnTarget_Click() Handles btnTarget.Click
dlgFile.ShowDialog()
strFileName = dlgFile.FileName
lblFileName.Text = strFileName
End Sub
End Class
И это мой код C
#include<stdio.h>
#include<conio.h>
void main()
{
int x;
scanf("%d",&x);
printf("%d",(x*x));
}
моя программа работает отлично, когда я бегуprog.exe <input.txt> output.txt в консоли