2010-11-25 30 views
0

我想下载一个HTML文件,通过使用这种bash命令在C++下载文件时做无限循环?

system("wget -q -E -O sample.html http://www.XXX.com"); 

某个文件可能很大,所以我想,直到文件下载到做一个无限循环。可能吗?如果是的话,该怎么做?

主要目标:

下载HTML文件,然后用代码的其余部分进行

我解决它自己。任何人都可以关闭此问题。我非常抱歉

+2

发布您的解决方案作为答案,并选择作为答案。 – ajreal 2010-11-25 16:03:33

+0

@ajreal:我已经做到了。但我找到了最好的答案=> Ferrucio =) – popurity09 2010-11-25 16:44:15

回答

3

system()将会阻塞,直到命令执行完毕。你不需要做任何特别的事情来等待它。

+0

是的......谢谢Ferrucio! – popurity09 2010-11-25 16:43:30

0

您应该使用某种形式的计时器/延迟的循环(比如检查每秒)不炒的是CPU :)

1

您应该使用popenwget合适的方式输出机可读的信息。

0

你不想为'软件定时'不必要的事情做'无限循环'。相反,我会做一个循环,你在代码中休眠,直到下载完成(定期休眠并检查是否完成,如果没有,再睡一会,如果是,继续)。使用无限循环会不必要地吸取CPU,并且通常希望避免这样做。

0

我的回答是:

while(system("wget -q -E -O sample.html http://www.XXX.com/")){ 
    ; 
}; 

我知道我的答案是闹心。将尝试实现你的家伙后来回答。但我再次卡住,我在这里发布另一个问题Read file and extract certain part only