Advertisement
p2k

C++ Qt vs. STL (1)

p2k
Nov 6th, 2011
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. /* C++/STL Version */
  3.  
  4. // std::string lacks a trim function; this is the shortest workaround
  5. void trim(std::string &str)
  6. {
  7.     std::stringstream trimmer;
  8.     trimmer << str;
  9.     str.clear();
  10.     trimmer >> str;
  11. }
  12.  
  13. size_t HeaderCallback( void *ptr, size_t size, size_t nmemb, void *userdata)
  14. {
  15.     std::string hdr((char *)ptr, bytes);
  16.     size_t colon = hdr.find(':');
  17.     if (colon == std::string::npos)
  18.         return bytes;
  19.     std::string key = hdr.substr(0, colon);
  20.     trim(key);
  21.     std::string value = hdr.substr(colon+1);
  22.     trim(value);
  23.     // ...
  24.     return bytes;
  25. }
  26.  
  27. /* C++/Qt Version */
  28.  
  29. size_t HeaderCallback( void *ptr, size_t size, size_t nmemb, void *userdata)
  30. {
  31.     QString hdr = QString::fromAscii((char *)ptr, bytes);
  32.     if (!hdr.contains(':'))
  33.         return bytes;
  34.     QString key = hdr.section(':', 0, 0).trimmed(); // section() splits your string with ease
  35.     QString value = hdr.section(':', 1).trimmed();
  36.     // ...
  37.     return bytes;
  38. }
  39.  
  40.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement