Cześć wszystkim,
Potrzebuje pomocy, mam do napisania program do pobierania plików za pomocą biblioteki curl. Napisałem już program który zapisuje listę plików do pobrania do pliku txt a następnie przeszukuje plik w celu połączenia linku z nazwą pliku i pobraniu go. Jak pobieram znaki do zmiennej i przechowuje je w zmiennej temp to wyświetla je poprawnie, natomiast w fragmencie kodu fp1 = fopen(temp,"wb");
nie wie co to jest i nie tworzy pliku o nazwie którą przechowuje temp. Identycznie jest w fragmencie curl_easy_setopt(curl1, CURLOPT_URL, str2);
. Program nie sypie błędami.
Czy ktoś jest w stanie mi pomóc?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <curl/curl.h>
int main(void)
{
char str[1000] = "ftp://ftp.ps.pl/pub/Linux/CentOS/6.9/isos/x86_64/";
char str2[1000] = "";
char pobierz [100];
char bufor[256];
CURL *curl;
CURL *curl1;
FILE *fp;
FILE *fp1;
CURLcode res;
CURLcode res2;
char plik[] = "lista.txt";
curl = curl_easy_init();
if(curl) {
fp = fopen(plik,"wb");
curl_easy_setopt(curl, CURLOPT_URL, str);
curl_easy_setopt(curl, CURLOPT_DIRLISTONLY, 1L);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, NULL);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, fp);
res = curl_easy_perform(curl);
curl_easy_cleanup(curl);
fclose(fp);
}
fp=fopen(plik,"r");
while(fgets(bufor,256,fp)){
printf("%s", bufor);
}
fclose(fp);
printf("\n\n*************************************************************\n");
printf("ktore pliki chszesz pobrac?\n");
printf("wszystkie? - wpisz: \".\"\n");
printf("typu np:.txt? - wpisz: txt\n");
printf("jezeli pojedynczy plik, wypisz go - wpisz: plik.html\n");
scanf("%s", &pobierz);
printf("%s",pobierz);
printf("\n\n***************************************\n");
int wiersz = 1;
int zna_wiersz = 0;
fp=fopen(plik,"r");
char temp[]="";
while(fgets(temp,512,fp) != NULL){
if((strstr(temp, pobierz)) != NULL){
curl1 = curl_easy_init();
strcat (str2, str);
printf("znaleziono plik w wierszu: %d\n", wiersz);
printf("\n%s\n", temp);
strcat (str2, temp);
printf("%s",str2);
if (curl1){
fp1 = fopen(temp,"wb");
curl_easy_setopt(curl1, CURLOPT_URL, str2);
curl_easy_setopt(curl1, CURLOPT_WRITEFUNCTION, NULL);
curl_easy_setopt(curl1, CURLOPT_WRITEDATA, fp1);
res2 = curl_easy_perform(curl1);
curl_easy_cleanup(curl1);
fclose(fp1);
str2[0]=0;
}
zna_wiersz++;
}
wiersz++;
}
if(zna_wiersz == 0){
printf("\n Przykro nie znalezlismy plikow\n");
}else{
printf("\n%d\n",zna_wiersz);
}
if(fp){
fclose(fp);
}
return 0;
}