你好,我是编程的新手,我有一个范例,我需要打印一个struct类型的指针,它在每次迭代中动态获取值,并在每次迭代时打印一个defrenced struct成员。
struct my_struct
{
int x;
int y;
}
void function(){
my_struct* a=value.get() // some values will be assigned dynamically to this pointer from other part of function.
my_struct* data = new thread_data;
data->x=1 //which will get updated according the iterations and conditions
data->y=2 //which will get updated according the iterations and conditions
}
现在我需要在调用函数中打印a,x,y的值,如何打印这些值。 一些像
的东西printf("a=%lx x=%i y=%i\n", a,x,y);
有人可以给我一些想法或如何继续吗?非常感谢
答案 0 :(得分:2)
在C ++中,您可以使用std::cout
:
std::cout << "a=" << a << " x=" << a->x << " y=" << a->y << "\n";
否则,您的printf
版本可以修复如下:
printf("a=%p x=%i y=%i\n", a, a->x, a->y);