Я пытаюсь создать функцию, которая принимает имя каталога (C:\foo\bar
или ..\foo\bar\..\baz
или \\someserver\foo\bar
) и создает необходимые каталоги, чтобы создать весь путь.
Я пытаюсь реализовать эту наивную реализацию, и это похоже на кошмар для обработки строк. Существует /
vs \
, есть частный случай сетевых долей, которые начинаются с \\
(также вы не можете пытаться mkdir() первые два уровня пути, которые являются машинным именем и общим именем), и существует бессмысленность типа \.\
, которая может существовать в пути.
Существует ли простой способ сделать это в С++?