【发布时间】:2012-01-11 03:08:20
【问题描述】:
我正在尝试验证我的指针是否到位,我想以十六进制格式打印 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 打印它。
【问题讨论】:
-
将其转换为 int 类型有效吗?
-
是的,但我希望能够看到它的十六进制。我也尝试将其转换为 unsigned char,但没有成功。
-
最佳答案given here 在我的平台上为
cl_uchar工作。 -
感谢詹姆斯,这很有效。我决定使用将数据转换为 int 然后使用 hex cout 运算符的解决方案。我认为这就是 anthony-arnold 的意思,但直到我看了你的链接我才明白。
-
@James 您可能想在此处添加它作为答案,以便可以接受并且很容易找到以供将来参考:D