#include #include #include inline QStringList &operator+(QStringList l, QString s) { l << s; return l; } inline QString catdir(QStringList l) { return QDir::cleanPath(QDir::convertSeparators(l.join(QString(QDir::separator())))); } inline QStringList splitdir(QString s) { return s.split(QDir::separator()) } int main(int argc, char **argv) { QCoreApplication app(argc, argv); printf("%s\n", qPrintable( catdir(QStringList() + "//a" + "b\\\\") )); return 0; }