这里的一些测试代码:皈依产生空字符串
QString qstr_test("TEST");
const char *p = qstr_test.toStdString().c_str();
cout << p << endl;
没有什么输出作为p是空字符串。
这是我在调试了:
std::basic_string<char,std::char_traits<char>,std::allocator<char> >::c_str
returns: 0x003bf9d4 "TEST"
p : 0x003bf9d4 ""
看来p
指向正确的位置,但并没有显示正确的内容。
为什么p
是空的?
当你看到'cout << p << endl;'line?时,你确定'toStdString()'返回的'std :: string'仍然存在吗? – Apokal
@Apokal启蒙我!谢谢 ! – CDT