如何将两个QStrings合并为一个?

时间:2015-05-16 08:30:55

标签: c++ qt qstring

我尝试将两个QStrings添加到一个中。我读了很多关于:

  

QString NAME = QString + QString

但这对我没有帮助。那就是我的代码到目前为止的样子:

test.h

#ifndef TEST_H
#define TEST_H

#include <QString>
#include <QFile>
#include <QDir>

class Test
{
public:
    void createProject(QString* p, QString*n);
};

#endif // TEST_H

TEST.CPP

#include "test.h"
#include <QFile>
#include <QString>
#include <QDir>

void Test::createProject(QString *p, QString *n)
{
    QString result = p + n;
    QDir dir(result);
    if (dir.exists())
    {
        // ok
    }
    else
    {
        printf("Error!\n");
    }
}

忽略关于检查目录是否存在的代码,顺便说一句,我使用 Qt 4.8.6

所以现在当我尝试编译时,我收到了这个错误:

  

test.cpp:在成员函数'void Test :: createProject(QString *,   QString *)':test.cpp:8:21:错误:类型'QString *'的操作数无效   和'QString *'到二元'运算符+'
  QString结果= p + n;

我该如何使这项工作?另外使用+ =而不是+在这里不起作用。

~Jan

1 个答案:

答案 0 :(得分:3)

确实,您要将其地址添加为p,而n是指针。尝试将其值添加为:

QString result = *p + *n;