-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 回答