c++等待系统调用

c++ wait for system call

本文关键字:系统调用 等待 c++      更新时间:2023-10-16

我正在用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

system()等待命令完成。在您的例子中,"命令"是"开始",这迫使它在后台运行。去掉"start",你就没事了。如果您确实需要它是异步的,则需要以不同的方式启动流程。

如果程序WP/PRO386W.exe是一个控制台程序,只需删除Start,使程序在后台运行。UPD:也许你必须使用反斜杠:"WP\PRO386W.exe ..." .

您总是可以检查文件结束。假设fin是ifstream类型,那么你可以检查f (!fin)。