我想做这样的事情:
QString string;
// do things...
std::cout << string << std::endl;
Run Code Online (Sandbox Code Playgroud)
但代码不编译.如何将qstring的内容输出到控制台(例如出于调试目的或其他原因)?如何转换QString为std::string?
我试图通过以下方法将QString转换为char*类型,但它们似乎不起作用.
//QLineEdit *line=new QLineEdit();{just to describe what is line here}
QString temp=line->text();
char *str=(char *)malloc(10);
QByteArray ba=temp.toLatin1();
strcpy(str,ba.data());
Run Code Online (Sandbox Code Playgroud)
你能用这种方法详细说明可能的缺陷,还是提供另一种方法?
我有一个丑陋的代码用于这个东西(创建ac char指针并在其中复制QString)但可能......在QT中以优雅的方式存在...
实际代码:
QString maquina is a method parameter.
char *c_maquina = new char[maquina.length() + 1];
strcpy(c_maquina, maquina.toStdString().c_str());
Run Code Online (Sandbox Code Playgroud)
只是为了获取信息我需要一个REAL char*而不是一个简单的const char*所以这段代码不起作用:
idMaquina.toLatin1().data();
Run Code Online (Sandbox Code Playgroud)
我无法使用http://developer.qt.nokia.com/faq/answer/how_can_i_convert_a_qstring_to_char_and_vice_versa