2

私はC++でファイルを操作しています。システムプロンプトでプログラムを呼び出して、txtファイルを作成します。次に、C++を使用してそのファイルを読み取ります。ファイルを読み取る前に、C++がプログラムの終了を待機していることを確認する必要があります。

説明C++:

createOutputFile(); 
system("Start wp/PRO386W.EXE /V1 consult('wp/read.pl').");
// I need to wait for this "PRO386W.EXE to finish
readLista();//before calling this method
4

3 に答える 3

6

system()は、コマンドが完了するのを待ちます。あなたの場合、「コマンド」は「開始」であり、それはそれをバックグラウンドに強制します。「開始」を削除すると、問題がないはずです。本当に非同期にする必要がある場合は、プロセスを別の方法で起動する必要があります。

于 2013-01-10T17:52:27.473 に答える
1

プログラムWP/PRO386W.exeがコンソールプログラムの場合は、Startを削除するだけで、プログラムがバックグラウンドで実行されます。UPD:バックスラッシュを使用する必要があるかもしれません:"WP\\PRO386W.exe ..."

于 2013-01-10T17:50:18.700 に答える
-3

ファイルの終わりはいつでも確認できます。finのタイプがifstreamであるとすると、f(!fin.eof())を確認できます。

于 2013-01-10T17:54:11.640 に答える