相关疑难解决方法(0)

如何以十六进制格式将数据附加到std :: string?

我有一个std::string和一个int.我想将整数的ASCII(字符串文字)十六进制表示连接到std::string.

例如:

 std::string msg = "Your Id Number is: ";
 unsigned int num = 0xdeadc0de; //3735929054
Run Code Online (Sandbox Code Playgroud)

所需的字符串:

std::string output = "Your Id Number is: 0xdeadc0de";
Run Code Online (Sandbox Code Playgroud)

通常情况下,我只是使用printf,但我不能用std :: string做这个(我可以吗?)

有关如何做到这一点的任何建议?

c++ string

18
推荐指数
2
解决办法
3万
查看次数

如何将指针值转换为QString?

出于调试目的,我经常将指针值(大多数this)输出到qDebug:

qDebug("pointer of current object = 0x%08x",this);,使用"%08x"作为格式字符串,只是this作为参数传递.

如何将指针值转换为QString?

这是我到目前为止所得到的:

char p = (char)this;
return QString("0x%1").arg(p, 8, '0');
Run Code Online (Sandbox Code Playgroud)

但编译器似乎并没有弄清楚如何处理该值.char在这种情况下铸造是否正确?或者更安全的方法是什么?

使用Visual C++和Qt 4.7.4.

编辑

qulonglong按建议使用

qulonglong p = (qulonglong)this;
return QString("0x%1").arg(p, 8, '0');
Run Code Online (Sandbox Code Playgroud)

产生编译器错误消息(错误C2666).

c++ qstring qt pointers

14
推荐指数
3
解决办法
2万
查看次数

标签 统计

c++ ×2

pointers ×1

qstring ×1

qt ×1

string ×1