3 つの異なるコマンド ライン コマンドの文字列配列があります。3 つのシステム関数を書き出す代わりに、これらのコマンドを保持する文字列配列をシステム関数 (または同様の関数、つまり exec()) に for ループで渡す方法を学ぼうとしています。この文字列配列を一度に 1 つずつシステム関数に渡す方法がわかりません。目標は、それぞれの終了ステータスを取得し、エラーが返された場合に for ループを中断することです。
std::string arrString[3] = {"something","another thing","a final thing"}
int i;
for(i=0; i<3; i++)
{
if (system(/*Something*/))
;//Do something...
}
編集:これは、エラーが発生したことを出力しますが、そうすべきではありません。
std::string arrString[4] = {"cmd","cmd","cmd"};
int i;
for(i=0; i<3; i++)
{
if (system(arrString[i].c_str())==0) {
OutputDebugStringW(L"It works!");
}
else
{
OutputDebugStringW(L"It doesnt work :(");
}
}