aboutsummaryrefslogtreecommitdiff
path: root/tests/core/test_sscanf_hex.in
blob: a05eb89043b56738c3b8ab30b88f8b6c4adbe6dd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <stdio.h>
#include <string>
#include <cstdlib>

int main()
{
  unsigned int a, b;
  sscanf("0x12AB 12AB", "%x %x", &a, &b);
  printf("%d %d\n", a, b);

  std::string hexstr("0102037F00FF");
  const char * cstr = hexstr.c_str();
  int len = hexstr.length() / 2;
  char * tmp_data = new char[len];
  for(int i = 0; i < len; i++)
  {
      sscanf(cstr, "%2hhx", &tmp_data[i]);
      cstr += 2 * sizeof(char);
  }

  for (int j = 0; j < len; j++)
      printf("%i, ", tmp_data[j]);
  printf("\n");
  delete[] tmp_data;
}