人気ブログランキング | 話題のタグを見る
(C++)環境変数のパスを展開する
%systemroot% や %programfiles% との環境変数パスをC++で展開する方法です。

Win32 API の ExpandEnvironmentStrings 関数を使えばいいようです。
注意点は %appdata% だと %%appdata%% というように%でエスケープしないといけないという点です。

こんな感じで使います。

WCHAR CheckFileName[1024];
swprintf( CheckFileName , _T("%%APPDATA%%\\test.txt") );
WCHAR CheckFileName2[1024];
ExpandEnvironmentStrings( CheckFileName ,CheckFileName2,sizeof( CheckFileName2 ));

なお、各OSの環境変数パスの一覧はVistaとXPにおけるパス関係のユーザ環境変数の相違。 - 片っ端から忘れていけばいいじゃない。できれいにまとめられています。
by jehoshaphat | 2010-05-20 23:49 | C/C++開発


<< (C++)ファイルの存在チェッ... (C++)Win32APIを使... >>