dev-cpp curl reakcja przy braku poprawnego linku
Ostatnio zmodyfikowano 2012-05-04 08:50
diunida Temat założony przez niniejszego użytkownika |
dev-cpp curl reakcja przy braku poprawnego linku » 2012-05-03 22:42:55 Witam, mam taki problem, chciałbym odebrać dane z pliku umieszczonego na serwerze www, z tym sobie radzę, mam problem z sytuacją gdy nie ma dostępu do tego pliku, wyłączył się serwer, będzie to sytuacja na którą muszę odpowiednio zareagować. Jak zrobić takie coś, jestem w miarę nowy jeżeli chodzi o c++. Jak sprawdzić, czy w zmiennej "st" jest coś zapisane (czy curl coś odczytał), proste 'if ( st );' nie działa, wyrzuca błąd przy kompilacji. Na razie mam taki kawałek kodu: #include <cstdio> #include <curl/curl.h> #include <iostream> #include <fstream> #include <string> #include <cstdlib>
using namespace std;
size_t write_callback( char * ptr, size_t size, size_t nmemb, void * userdata ) { string & str = *(( std::string * ) userdata ); str.append( ptr, size * nmemb ); return size * nmemb; }
int main() { ifstream plikk; plikk.open( "config_ups.txt", ios::in ); char adres[ 1000 ]; plikk >> adres; cout << "adres - " << adres; CURL * curl; CURLcode res; string st, bat, stan; int bati, stani; curl = curl_easy_init(); cout << endl << "zzz -" << adres << "-" << endl; if( curl ) { curl_easy_setopt( curl, CURLOPT_URL, adres ); curl_easy_setopt( curl, CURLOPT_TIMEOUT, 3 ); curl_easy_setopt( curl, CURLOPT_WRITEFUNCTION, & write_callback ); curl_easy_setopt( curl, CURLOPT_WRITEDATA, & st ); res = curl_easy_perform( curl ); bat = st.substr( 0, 1 ); bati = strtol( bat.c_str(), NULL, 10 ); bati = bati + 3; stan = st.substr( 2, 1 ); stani = strtol( stan.c_str(), NULL, 10 ); stani = stani + 3; cout << '\n' << "bazyl " << st << '\n'; cout << "bat " << bati << '\n'; cout << "stan " << stani << '\n'; } return 0; }
|
|
diunida Temat założony przez niniejszego użytkownika |
» 2012-05-04 08:50:43 dla potomnych, rozwiązaniem jest: |
|
« 1 » |