#include <QString> #include <string> QString qStr = "example"; std::string stdStr = qStr.toStdString(); const char* ch = stdStr.c_str(); 方法二:使用toLatin1()或toUtf8() 如果你需要处理中文字符,可以选择使用toLatin1()或toUtf8()方法,并相应地处理编码问题。 使用to...
在Qt下怎样将QString转char*呢,需要用到QByteArray类,QByteArray类的说明详见Qt帮助文档。 因为char*最后都有一个‘/0’作为结束符,而采用QString::toLatin1()时会在字符串后面加上‘/0’ 方法如下: Qstring str; char* ch; QByteArray ba = str.toLatin1(); ch=ba.data(); 这样就完成了QString向c...
QString转char*的规则同上; */ /* QTextCodec::setCodecForTr(QTextCodec::codecForLocale()); QTextCodec::setCodecForTr(QTextCodec::codecForName("gb2312")); QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK")); QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8")); 如下...
1.char* 转QString 方法一:直接用QString的构造函数转换,如下: char* ch = "acuity";//这种写法在我的QT中报 error: C2440: “初始化”: 无法从“const char [7]”转换为“char *” QString str(ch);//error: C2040: “str”:“QString”与“char *”的间接寻址级别不同 方法二:用QString的静态...
setCodecForLocale(QTextCodec::codecForName("GBK"));然后改变上面的第三行为:QByteArray ba = str.toLoacl8Bit();toLoacl8Bit支持中文 方法2:先将QString转为标准库中的string类型,然后将string转为char*,如下:std::string str = filename.toStdString();const char ch = str.c_str();
如果你是想在代码中做静态的QString,可以这样QString t = QString::fromLocal8Bit("中文");这样得到的t应该是unicode的,然后可以t.toUtf8()得到一个QByteArray的类。当然反过来也可以用QString::toLocal8Bit()得到QByteArray,再用QByteArray下的data()函数,得到char*。不太理解你的意思额。
1 > QByteArray 转 char * char *ch;QByteArray byte;ch = byte.data(); 2 > char * 转 QByteArray char *ch;QByteArray byte;byte = QByteArray(ch); 8、 QString 转换为char* QString提供的字符编码集的转换函数将会返回一个constchar*类型版本的QByteArray,即构造函数QByteArray(constchar*)构造的QB...
QString qstr = QString(QLatin1String(c_char)); 3. int ,float ,double to QString ①正规 int num = 79; float fnum = 79.99; QString qnum = QString::number(num); //默认为十进制转换,其他进制转换需显示指定 QString qnum = QString::number(fnum); ...
您好,很高兴为您解答。Qt5:char *ch = "中文的char*如何转换成QString?";QString str(ch);Qt4 :char *ch = "我是中文";QString str = QString::fromUtf8(ch));如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】希望我的回答对您有所帮助,望采纳!~ O(∩_∩)O~