%p的用法

%p用于输出指针的内容。
例如:
     printf("%p\n", &i);      输出i的地址;
     printf("%p\n", &p1);     输出p1的地址;
     printf("%p\n", &p2);     输出p2的地址;
     printf("%p\n", p1);      输出指针p1的值,也是地址,但不是p1的地址,而是p1指向对象的地址,即指针变量p1的值。

%x用于输出16进制的整型或字符型数值
在Qt中,`QString`是一个用于处理字符串的类,它提供了丰富的字符串操作功能,包括格式化字符串。不过`QString("%p%")` 这样的写法并不是一个正确的格式化字符串的用法。 #### 正确的格式化占位符 `QString` 常用的格式化占位符有: - `%1`, `%2`, `%3`... :用于按顺序插入参数。 - `%d` :用于插入整数。 - `%f` :用于插入浮点数。 - `%s` :用于插入字符串。 - `%p` :用于插入指针地址。 #### 示例代码 以下是一些正确使用 `QString` 进行字符串格式化的示例: ```cpp #include <QCoreApplication> #include <QString> #include <QDebug> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); // 使用 %1, %2 等占位符插入参数 int num = 42; QString str = "Hello"; QString formatted = QString("%1, the answer is %2").arg(str).arg(num); qDebug() << formatted; // 使用 %d 插入整数 int age = 25; QString ageStr = QString("I'm %d years old.").arg(age); qDebug() << ageStr; // 使用 %f 插入浮点数 double price = 9.99; QString priceStr = QString("The price is %f").arg(price); qDebug() << priceStr; // 使用 %s 插入 C 风格字符串 const char* cStr = "World"; QString cStrFormatted = QString("Hello, %s").arg(cStr); qDebug() << cStrFormatted; // 使用 %p 插入指针地址 int* ptr = &num; QString ptrStr = QString("The pointer address is %p").arg(reinterpret_cast<quintptr>(ptr), 0, 16); qDebug() << ptrStr; return a.exec(); } ``` #### 解释 - `QString("%1, the answer is %2").arg(str).arg(num)` :先使用 `%1` 和 `%2` 占位,然后使用 `arg()` 方法按顺序插入 `str` 和 `num`。 - `QString("I'm %d years old.").arg(age)` :使用 `%d` 占位整数,然后用 `arg(age)` 插入整数 `age`。 - `QString("The price is %f").arg(price)` :使用 `%f` 占位浮点数,然后用 `arg(price)` 插入浮点数 `price`。 - `QString("Hello, %s").arg(cStr)` :使用 `%s` 占位 C 风格字符串,然后用 `arg(cStr)` 插入 C 风格字符串 `cStr`。 - `QString("The pointer address is %p").arg(reinterpret_cast<quintptr>(ptr), 0, 16)` :使用 `%p` 占位指针地址,将指针 `ptr` 转换为 `quintptr` 类型,然后用 `arg()` 方法插入。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值