c ++等待系统调用

时间:2013-01-10 17:47:37

标签: c++ system call

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

3 个答案:

答案 0 :(得分:5)

system()等待命令完成。在您的情况下,“命令”是“开始”并强制它到后台。删除“开始”,你应该没事。如果你真的需要它是异步的,你需要以不同的方式启动它。

答案 1 :(得分:1)

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

答案 2 :(得分:-3)

您始终可以检查文件结尾。假设fin是ifstream类型,那么你可以检查f(!fin.eof())