1. C++ / Говнокод #16991

    +137

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    _DECLSPEC void StringToHex(
       const _tstring &ts, 
       BYTE *pBuffer, 
       size_t nBytes)
    {
       USES_CONVERSION;
    
       const std::string s = T2A(const_cast<PTSTR>(ts.c_str()));
    
       for (size_t i = 0; i < nBytes; i++)
       {
          const size_t stringOffset = i * 2;
    
          BYTE val = 0;
    
          const BYTE b = s[stringOffset];
    
          if (isdigit(b)) 
          {
             val = (BYTE)((b - '0') * 16); 
          }
          else 
          {
             val = (BYTE)(((toupper(b) - 'A') + 10) * 16); 
          }
    
          const BYTE b1 = s[stringOffset + 1];
    
          if (isdigit(b1)) 
          {
             val += b1 - '0' ; 
          }
          else 
          {
             val += (BYTE)((toupper(b1) - 'A') + 10); 
          }
    
          pBuffer[i] = val;
       }
    }

    ночнём-с, ребзя!

    Запостил: blackhearted, 30 Октября 2014

    Комментарии (0) RSS

    Добавить комментарий

    Ошибка компиляции комментария:
    1. Гости могут высказаться только в понедельник, среду, четверг или воскресение
    ava Семь раз отмерь — один отрежь, guest!
    А не использовать ли нам bbcode?
    • [b]жирный[/b] — жирный
    • [i]курсив[/i] — курсив
    • [u]подчеркнутый[/u] — подчеркнутый
    • [s]перечеркнутый[/s] — перечеркнутый
    • [blink]мигающий[/blink] — мигающий
    • [color=red]цвет[/color] — цвет (подробнее)
    • [size=20]размер[/size] — размер (подробнее)
    • [code=<language>]some code[/code] (подробнее)
    Проверочный код