Witam.
Ogolnie ucze się jeszcze c++ i nie moge do konca pojac wskaznikow.
Moze ktoś pomóc ?
Chodzi mi o ten przykład:
static size_t write_data_toFile(void *ptr, size_t size, size_t nmemb, void *stream) {
size_t written = fwrite(ptr, size, nmemb, (FILE *)stream);
return written;
}
void wwwToFile(const char* adres, const char * nazwa_pliku);
void wyszukajKursy(std::string waluta, const char * pliki);
struct wwwDownload{
const char *bankName, *wwwAdres, *fileName;
};
int main(void) {
wwwDownload www[] = {
{"NBP","http://nbp.pl/kursy/kursyc.html","NBP.txt"},
{"WBK","http://indywidualni.bzwbk.pl/przewodniki/kursy-walut/kursy-walut-bank-zachodni-wbk-przewodnik.html","WBK.txt"},
{"PKO","http://www.pkobp.pl/index.php/id=waluty/section=ogol","PKO.txt"}
};
const unsigned size_www_download=sizeof(www)/sizeof(*www);
for (int i=0 ; i < size_www_download ; ++i){
wwwToFile (www[i].wwwAdres, www[i].fileName);
wyszukajKursy("euro",www[i].fileName);
}
getchar();
return 0;
}
void wwwToFile(const char * wwwAdres, const char * fileName) { // <----TUTAJ
const char *pagefilename = fileName; ; // <---- TUTAJ
FILE *pagefile;
CURL *curl_handle;
curl_global_init(CURL_GLOBAL_ALL);
curl_handle = curl_easy_init(); /* init the curl session */
curl_easy_setopt(curl_handle, CURLOPT_URL, wwwAdres); /* set URL to get here */
curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, write_data_toFile); /* send all data to this function */
pagefile = fopen(pagefilename, "wb"); /* open the file */
if (pagefile) {
curl_easy_setopt(curl_handle, CURLOPT_FILE, pagefile); /* write the page body to this file handle. CURLOPT_FILE is also known as
CURLOPT_WRITEDATA*/
curl_easy_perform(curl_handle); /* get it! */
fclose(pagefile); /* close the header file */
}
curl_easy_cleanup(curl_handle); /* cleanup curl stuff */
}
Chodzi mi o to, że nie moge zrozumieć czy tutaj występuje przypisanie wskaźnika do wskaźnika i czy w ogóle mozna przypisywac wskaznika do wskaznika ?
Ogolnie myslalem, że przy korzystaniu ze wskaźników uzywa się też znaku "&" do odczytywania adresów. A w tym przykładzie nigdzie nie ma takiego znaku.
const char *pagefilename = fileName; ; // <---- TUTAJ