怎么使用qdebug打印一个结构体中的结构体的所有数值
时间: 2023-11-08 14:31:40 浏览: 141
如果结构体中包含其他结构体,可以使用嵌套的方式打印所有成员的值。例如:
```c++
#include <QDebug>
struct Address {
QString city;
QString street;
};
struct Person {
QString name;
int age;
Address address;
};
Person p = {"Alice", 25, {"Beijing", "Chang'an Street"}};
qDebug() << "Person:" << &p
<< "Name:" << p.name
<< "Age:" << p.age
<< "Address:"
<< "City:" << p.address.city
<< "Street:" << p.address.street;
```
输出结果为:
```
Person: 0x61fef8
Name: "Alice"
Age: 25
Address: City: "Beijing" Street: "Chang'an Street"
```
可以看到,使用嵌套的方式将结构体中的所有成员的值输出即可。
相关问题
怎么使用qdebug打印一个结构体的所有数值
你可以使用qDebug()函数打印结构体中每个成员的值,例如:
```c++
#include <QDebug>
struct Person {
QString name;
int age;
};
Person p = {"Alice", 25};
qDebug() << "Name:" << p.name << ", Age:" << p.age;
```
输出结果为:
```
Name: "Alice" , Age: 25
```
如果你想打印结构体中的所有成员,可以使用下面这种方式:
```c++
#include <QDebug>
struct Person {
QString name;
int age;
};
Person p = {"Alice", 25};
qDebug() << "Person:" << &p
<< "Name:" << p.name
<< "Age:" << p.age;
```
输出结果为:
```
Person: 0x61fef8
Name: "Alice"
Age: 25
```
可以看到,在输出结构体时需要使用`&`取地址符,然后将每个成员的值输出即可。
怎么使用qdebug打印一个结构体中的int类型
如果你只需要打印结构体中的int类型成员,可以使用下面这种方式:
```c++
#include <QDebug>
struct Person {
QString name;
int age;
};
Person p = {"Alice", 25};
qDebug() << "Age:" << p.age;
```
输出结果为:
```
Age: 25
```
可以看到,直接使用`<<`操作符将int类型成员输出即可。
阅读全文