-3

これは私の最初のCプログラムであり、私が確信が持てず、助けを求めて死にかけているいくつかのスポットがあります。これは、テキストファイル内のリンクからファイルをダウンロードするプログラムです。ありがとうございました!!!!!!

#include <sys/wait.h>
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <iostream>
#include <fstream>
using namespace std;
using std::printf;

FILE *file; /*declare the file pointer*/
char line [LINE_MAX];

//Parent process

int main()
{
pid_t  pid;

file= fopen ("links.txt", "rt"); /*open file and read it*/
numberOfChildren = 0;
string url;
while (fgets (line,LINE_MAX, file) !=NULL) /*NOT SURE*/
++numberOfChildren;
/* fork another process */
pid = fork();

    if (pid < 0) { /* error occurred */
        fprintf(stderr, "Fork Failed");
        exit(-1);
    }
    else if (pid == 0) { /* child process */
        execlp("/usr/bin/wget", "wget", <url>, NULL);/*NOT SURE*/
    }
    while (numberOfChildren>0) { /* parent process */
    /* parent will wait for the child to complete */
        wait (NULL);
        --numberOfChildren;
        printf ("Child Complete");

        exit(0);
    }


}
4

1 に答える 1

1

質問の件名 (「C wget が必要」) とあなたのコメント/* Not Sure */に基づいて、wget のような機能を提供するライブラリを探していると思います。libcurlはもうチェックアウトしましたか? シンプルなファイル転送用の非常に簡単な API を提供します。この簡単な例を見てください。基本について説明されています。ファイルを実際に書き込む方法 (要求するだけでなく) を確認するには、FTP の例(具体的には、オプションCURL_WRITEFUNCTION) を参照してください。

于 2012-09-20T07:19:42.867 に答える