Есть ли бесконечный цикл при загрузке файла в C ++? - PullRequest
0 голосов
/ 25 ноября 2010

Я хочу скачать html-файл, используя эту команду bash

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

иногда файл может быть огромным, поэтому я думал сделать бесконечный цикл, пока файл не загрузится. Является ли это возможным? Если да, то как это сделать?

Основная цель:

Загрузите html-файл, затем перейдите к остальным кодам

Я решаю это сам. Может кто-нибудь закрыть этот вопрос. Мне ужасно жаль

Ответы [ 5 ]

3 голосов
/ 25 ноября 2010

system() будет блокироваться до завершения выполнения команды.Вам не нужно делать ничего особенного, чтобы ждать этого.

1 голос
/ 25 ноября 2010

Вы должны использовать popen и подходящий режим wget для вывода машиночитаемой информации.

0 голосов
/ 25 ноября 2010

Мой ответ:

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

Я знаю, что мой ответ - отстой.Постараюсь реализовать свой ответ, ребята позже.но я снова застрял, я выкладываю еще один вопрос здесь Чтение файла и извлечь только определенную часть

0 голосов
/ 25 ноября 2010

вы не захотите делать «бесконечный цикл» для чего-то, что не обязательно должно быть «программным временем».Вместо этого я сделал бы цикл, в котором вы спите код, пока загрузка не будет завершена (периодически спите и проверяйте, если закончено, если нет, спите еще немного, если так, продолжайте).Использование бесконечного цикла приведет к ненужной загрузке вашего процессора, и вы, как правило, не хотите этого делать.

0 голосов
/ 25 ноября 2010

Вы должны использовать какой-то таймер / задержку для цикла (скажем, проверять каждую секунду), чтобы не жарить этот процессор:)

...