別のファイルに値を出力し、その値を C++ アプリケーションで読み取る matlab ファイルを実行しようとしています。私のコードは次のとおりです。
int disponibilitate;
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);
ZeroMemory( &pi, sizeof(pi) );
LPTSTR szCmdline = _wcsdup(TEXT("\"D:\\Program Files\\Matlab\\bin\\matlab.exe\" -nodisplay -nosplash -nodesktop -r \"run('C:\\Users\\Lucian\\Desktop\\licenta visual studio\\licenta\\licenta\\simulare.m');exit;\""));
if( !CreateProcess(NULL, szCmdline, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi))
{
printf( "CreateProcess failed (%d).\n", GetLastError() );
return;
}
fin.open("simulare_matlab_out.txt");
fin>>disponibilitate;
cout<<disponibilitate;
fin.close();
CloseHandle( pi.hProcess );
CloseHandle( pi.hThread );
simulare_matlab_out.txt は、私の matlab アプリケーションの出力ファイルです。C++ プロジェクトを実行すると、ランダムな値が出力されますが、simulare_matlab_out.txt ファイルの値は問題ありません。
!!! 私の問題は、プログラムが作成されたプロセスが終了するのを待たず、作成されたファイルから読み取らないことだと思います!!! 何か助けてください。