Кроссплатформенный способ построения пути ФС с помощью 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).