QT 将QVector<QString>转化为const char**

来源:互联网 发布:js id命名 编辑:程序博客网 时间:2024/06/03 17:19

王老师让我写的一个转化的接口,我就直接写了个控制台的.
没玩过QT不过和VS差不多
直接上代码


#include <QCoreApplication>#include <iostream>#include <QString>#include <QVector>#include <QByteArray>#include <string.h>using namespace std;/* * QVector<QString>转化为const char** */int main(int argc, char *argv[]){    QCoreApplication a(argc, argv);    QVector<QString>vec;    QString t="文本1";    vec.push_back(t);    vec.push_back("文本2");    vec.push_back("文本3");    char **chr;    chr=(char **)malloc(vec.length()*sizeof(char *));    for(int i=0;i<vec.length();++i)    {        chr[i]=new char(vec[i].length()+1);        QByteArray ct = vec[i].toLocal8Bit();        strcpy(chr[i],ct.data());    }    cout<<chr[0]<<endl;    const char **res=const_cast<const char **>(chr);    cout<<res[0]<<endl;    cout<<res[1]<<endl;    cout<<res[2]<<endl;    return a.exec();}
原创粉丝点击