Распечатать OpenCL cl_uchar в шестнадцатеричном формате, используя cout в C ++? - PullRequest
2 голосов
/ 02 декабря 2011

Я пытаюсь убедиться, что мои указатели на месте, и я хотел бы напечатать значение cl_uchar (тип OpenCL без знака) в шестнадцатеричном формате. Я попробовал:

cout << "Data matrix 0,3 = " << clMatrixPerm->data_matrix->elements[4] << endl;

и

cout << "Data matrix 0,3 = " << hex << clMatrixPerm->data_matrix->elements[4] << endl;

где clMatrixPerm->data_matrix->elements[4] - данные в массиве для печати. В обоих случаях не было выхода после Data matrix 0,3 =. Мне удалось использовать обходной путь с printf, так что я знаю, что данные назначаются правильно, но я хотел бы распечатать их с помощью cout, если это возможно.

1 Ответ

1 голос
/ 08 августа 2014

Простой

cout << "Data matrix 0,3 = " << hex << static_cast<unsigned int>(clMatrixPerm->data_matrix->elements[4]) << endl;
...