На платформах POSIX вы можете использовать getcwd () .
В Windows вы можете использовать _getcwd () , так как использование getcwd () устарел.
Для стандартных библиотек, если Boost был достаточно стандартен для вас, я бы предложил Boost :: filesystem, но они, похоже, удалили нормализацию пути из предложение. Возможно, вам придется подождать, пока TR2 не станет доступен для полностью стандартного решения.