GetFullPathName()関数は相対パスへ絶対パスへ変換します。
#include <stdio.h> #include <tchar.h> #include <iostream> #include <string> #include <windows.h> /* 絶対パスへ変換する */ std::wstring GetFullPath ( std::wstring oPath ) { // 絶対パスへ変換 wchar_t waBuf[ MAX_PATH * 2 ]; // 絶対パスへ変換する if ( FALSE != ::GetFullPathName( oPath.c_str() , MAX_PATH * 2 , waBuf , NULL ) ) { // 変換結果を返す return( waBuf ); } // 変換失敗 return( L"" ); } int _tmain ( int argc , _TCHAR* argv[] ) { // 絶対パスへ変換する std::wstring oFullPath = GetFullPath( L".¥¥test" ); // 結果を表示 std::wcout << oFullPath << std::endl; }
c:\Test\Fav\WabisabiSampleSource\Tools\test