Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* C++/STL Version */
- // std::string lacks a trim function; this is the shortest workaround
- void trim(std::string &str)
- {
- std::stringstream trimmer;
- trimmer << str;
- str.clear();
- trimmer >> str;
- }
- size_t HeaderCallback( void *ptr, size_t size, size_t nmemb, void *userdata)
- {
- std::string hdr((char *)ptr, bytes);
- size_t colon = hdr.find(':');
- if (colon == std::string::npos)
- return bytes;
- std::string key = hdr.substr(0, colon);
- trim(key);
- std::string value = hdr.substr(colon+1);
- trim(value);
- // ...
- return bytes;
- }
- /* C++/Qt Version */
- size_t HeaderCallback( void *ptr, size_t size, size_t nmemb, void *userdata)
- {
- QString hdr = QString::fromAscii((char *)ptr, bytes);
- if (!hdr.contains(':'))
- return bytes;
- QString key = hdr.section(':', 0, 0).trimmed(); // section() splits your string with ease
- QString value = hdr.section(':', 1).trimmed();
- // ...
- return bytes;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement