Существуют ли какие-либо автономные классы C++ GNU, которые обрабатывают кросс-платформенные пути? Мои приложения основаны на Windows и LInux. Наши файлы конфигурации относятся к другому файлу в отдельном каталоге. Я хотел бы иметь возможность читать путь к другому файлу конфигурации в класс, который будет работать как в Linux, так и в Windows.
Какой класс предлагает наименьший размер для преобразования путей для использования в любой системе? Спасибо
Если вы не используете абсолютные пути, нет необходимости переводить вообще - Windows автоматически преобразует косую черту в обратную косую черту, поэтому, если вы используете относительные пути с разделителями пути косой чертой, вы будете золотыми. Вам действительно следует избегать абсолютных путей, если это вообще возможно.
не переносится в ОС с другими правилами escape-кода, кавычек и разделителей (например, Mac)
попробуйте boost :: filesystem
Boost кажется очень полным, но для моих базовых потребностей излишний. Спасибо за вклад.
Библиотека файловой системы в бусте наверняка вам поможет.
Есть много способов, ИМХО, правильный ответ - переделать вашу программу, чтобы избежать манипулирования путями. Я разместил здесь ответ: https://stackoverflow.com/a/40980510/2345997, что актуально.
способы:
Для моих простых нужд это идеально.