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 回答