在做项目的时候,用QTextEdit显示输出,期间想输出一个地址,类似:0x7ff20ffa8600 这种,但是QTextEdit只能输出字符串,
,我尝试了几次却没办法把地址转成字符串。
请问有什么方法可以输出地址么?
比如不用QTExtEdit或者能把他转成字符串?
你说的是什么地址,ip地址还是内存地址?内存地址的话,先转换成long或者long long再调用atoll转换成数字形式的字符串,再传给QTextEdit
atoll 例子:http://www.cplusplus.com/reference/cstdlib/atoll/
int a = 10;
char str[20]={0};
sprintf(str, "0x%x", (unsigned int)&a);
ui->edit1->setText(str);
qDebug()<<&a;
上面的方法可以试一下
我这里测试通过的
#include
#include
#include
#include
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
unsigned long i = 0x7ff20ffa8600;
std::cout<<std::hex<<i<<std::endl;
QString str = QString::number(i,16);
qDebug()<<str<<endl;
return a.exec();
}