Кроссплатформенный способ построения пути ФС с помощью Qt

Возможный дубликат:
Qt эквивалент PathAppend?

Короткая история: есть ли у Qt 4 аналог Python os.path.join?

Длинная история: мне нужно добавить относительный путь к каталогу приложения, QCoreApplication::applicationDirPath() в правильном пути (TM), так что код не зависит от символа разделителя каталогов файловой системы.

Является ли простое присоединение к QStrings и использование "/" в качестве разделителя хорошим решением?

3 ответа

Решение

Вы можете использовать "/" напрямую или использовать QDir::separator(), Но в целом используйте QDir для этого (что переводит "/" в разделитель пути для конкретной платформы для вас).

Из Qt 4.6 QDirдокументация,

Qt использует "/" в качестве универсального разделителя каталогов так же, как "/" используется в качестве разделителя пути в URL.Если вы всегда используете "/" в качестве разделителя каталогов, Qt переведет ваши пути в соответствие с базовой операционной системой.

Так что я думаю QDir будет полезно для вас.

Просто используйте "/", оставаясь в мире Qt. Чтобы преобразовать путь для классов и функций не-Qt и т. Д., Используйте QDir::toNativeSeparators( path).

Другие вопросы по тегам