Существует ли какая-либо библиотека манипуляций с открытым исходным кодом, которая поддерживает все следующее?
Неограниченная длина пути (т. Е. Единственное ограничение должно быть в диапазоне size_t
, не произвольные ограничения, например 256 символов)
Основные манипуляции, такие как канонизация, эквивалент basename
, dirname
, получение расширения файла, получение рута и т. Д..
Все допустимые пути и имена файлов в стиле Windows, такие как \Rooted
, Dir/
, C:\Dir/foo
, File
, \\Computer\Dir/File
, \\.\C:
, Foo\./.\Bar:ADS
или \\?\C:\Dir\Escaped:ADS:$DATA
- Я считаю, что это также должно охватывать пути в стиле POSIX, но если нет, то они тоже должны работать
Я бы предпочел C ++, но C тоже подойдет.