как скачать картинку в файл с помощью libcurl?

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by eldar85, 23 Apr 2010.

  1. Ra$cal

    Ra$cal Elder - Старейшина

    Joined:
    16 Aug 2006
    Messages:
    670
    Likes Received:
    185
    Reputations:
    78
    1) fclose не там. хотя в принципе тут он все таки не нужен. повтороного открытия нет.
    2) путь к файлу на момент вызова точно жив? не самый правильный вариант передавать указатель на содержимое string'a. Лучше в структуре поле завести длиной в 200 байтиков и хранить путь там.
    3) Попробуй отдельно в мейне создать файл где нибудь не в глубине диска и записать туда что нибудь. Пока отдельно не получится заставить работать - курл тоже не взлетит.
     
    #21 Ra$cal, 26 Apr 2010
    Last edited: 26 Apr 2010
  2. eldar85

    eldar85 New Member

    Joined:
    27 Aug 2009
    Messages:
    126
    Likes Received:
    1
    Reputations:
    0
    да путь сейчас попробывал вывести в консоль под конец. все нормально - путь жив)
    это как???
     
  3. Ra$cal

    Ra$cal Elder - Старейшина

    Joined:
    16 Aug 2006
    Messages:
    670
    Likes Received:
    185
    Reputations:
    78
    struct Dummy{
    char filePath[200];
    };

    раз пуьт в консоль вывелся - значит все норм. сделай тестовую прогу, которая создает файл, пишет туда чтото, закрывает поток, открывает тот же файл и продолжает туда запись еще одного блока. заработает - прилепи к программе скачки картинки.
     
    #23 Ra$cal, 26 Apr 2010
    Last edited: 26 Apr 2010
  4. eldar85

    eldar85 New Member

    Joined:
    27 Aug 2009
    Messages:
    126
    Likes Received:
    1
    Reputations:
    0
    вот спасибо и в правду в стринге не катит путь прописывать, написал путь так и заработало
    char sFileName[200] = "E:\img.gif";
     
  5. eldar85

    eldar85 New Member

    Joined:
    27 Aug 2009
    Messages:
    126
    Likes Received:
    1
    Reputations:
    0
    одно смущает, я же получается путь указал на диск Е:\img.gif , а поместил он этот файл к ехе шнику...
     
  6. Ra$cal

    Ra$cal Elder - Старейшина

    Joined:
    16 Aug 2006
    Messages:
    670
    Likes Received:
    185
    Reputations:
    78
    косую черту не экранировал
     
  7. eldar85

    eldar85 New Member

    Joined:
    27 Aug 2009
    Messages:
    126
    Likes Received:
    1
    Reputations:
    0
    а нет вот так все работает прекрастно
    char sFileName[200] = "c:/img.gif";
     
  8. Ra$cal

    Ra$cal Elder - Старейшина

    Joined:
    16 Aug 2006
    Messages:
    670
    Likes Received:
    185
    Reputations:
    78
    косую черту экранируй "C:\\img.gif"
     
  9. eldar85

    eldar85 New Member

    Joined:
    27 Aug 2009
    Messages:
    126
    Likes Received:
    1
    Reputations:
    0
    большое спасибо вам)) давно хотел научиться с курлом это делать, а приходилось Qtшными средствами, а сетью то в основном курлом пользуюсь))) еще раз спасибо))
     
  10. eldar85

    eldar85 New Member

    Joined:
    27 Aug 2009
    Messages:
    126
    Likes Received:
    1
    Reputations:
    0
    такой вопрос, хочу скачать не той же функцией не картинку а текстовой файл или еще какой нить и прога вылетает. картинку скачивает а другой файл не хочет. код тот же за исключением
    char sFileName[200] = "c:/img.txt";
    ну и файла самого который скачивается:
    char sUrl[300] = "http://slil.ru/29288703/684267bf.4c0e9d58/12345.txt";
    прога вылетает тут же.
     
  11. eldar85

    eldar85 New Member

    Joined:
    27 Aug 2009
    Messages:
    126
    Likes Received:
    1
    Reputations:
    0
    хотя вообще теперь ничего не загружается
     
  12. POS_troi

    POS_troi Elder - Старейшина

    Joined:
    1 Dec 2006
    Messages:
    1,569
    Likes Received:
    466
    Reputations:
    108
    Code:
    out->stream=fopen(out->filename, "w");