The two really cross-platform alternatives are boost and Qt for this, so here goes it with both demonstrated:
Boost solution: boost::filesystem::canonical
path canonical(const path& p, const path& base = current_path());
path canonical(const path& p, system::error_code& ec);
path canonical(const path& p, const path& base, system::error_code& ec);
Qt solution: QFileInfo
QFileInfo fileInfo("/root\\\\directory1/directory2\\\\\\\\.."))
qDebug() << fileInfo.canonicalFilePath();