1

翼形状を生成し、外部プログラムを評価ツールとして使用して評価するコードを作成しました。また、このプログラムを起動し、翼形状評価に必要ないくつかのバッチ コマンドを実行し、プログラムを終了するバッチ ファイルも作成しました....!!

各ループ中にいくつかの評価を行います。私の問題は、自分のコードでバッチ ファイルを実行する方法が見つからないことです。以下に示す 2 つの方法を使用しましたが、Visual Studio 2010 ではどちらも機能しないようです。コマンドなど…!

確認して、何が間違っているのか教えてください..?

ありがとうございました

void XfoilCall()
{
SHELLEXECUTEINFO ShExecInfo = {0};
ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
ShExecInfo.hwnd = NULL;
ShExecInfo.lpVerb = NULL;
ShExecInfo.lpFile = ("C:/Users/Angelos/Documents/CExperiments/BSplines/run.bat");
ShExecInfo.lpParameters = ("");
ShExecInfo.lpDirectory = NULL;
ShExecInfo.nShow = SW_SHOW;
ShExecInfo.hInstApp = NULL;
ShellExecuteEx(&ShExecInfo);
WaitForSingleObject(ShExecInfo.hProcess,INFINITE);


void XfoilCall()
{
system("C:/Users/Angelos/Documents/CExperiments/BSplines/run.bat");
}
4

2 に答える 2

2

代わりにこれを試してください:

system("cmd C:/Users/Angelos/Documents/CExperiments/BSplines/run.bat");
于 2013-03-12T00:29:30.317 に答える
2

スラッシュが間違った方向にあり (バックスラッシュである必要があります)、エスケープする必要があります。cmd.exeバッチ スクリプトを処理するには、コマンド インタープリター ( ) を起動する必要もあります。

ShExecInfo.lpFile = ("cmd.exe /c C:\\Users\\Angelos\\Documents\\CExperiments\\BSplines\\run.bat");
于 2013-03-12T00:31:57.093 に答える