通知
すべてクリア
Topic starter
2006年6月26日 7:49 PM
いつもお世話になっております。
%SystemRoot%
%SystemDrive%
等の環境変数(?)が混じったパスをドライブ名からのフルパスに変換したいのですが、
自分で文字列を検索しつつ
GetSystemDirectory
GetWindowsDirectory
等を屈指して変換すればよいのでしょうか?
if文やらstrncmpやらを使えば出来そうですが、自作だと信頼性も低いですし面倒です。
つまり、一般的な方法を探しています。
それと、
%SystemRoot%
%SystemDrive%
等の書き方を総称してなにか名前がついていれば教えていただきたいです。(検索がむずい)
よろしくお願いします。
2006年6月26日 8:49 PM
過去ログ
http://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng.cgi?print+200603/06030061.txt
が参考になりますでしょうか?
Topic starter
2006年6月26日 10:09 PM
Blueさん返信ありがとうございます。
ExpandEnvironmentStrings
というAPIで解決しました。
文字列を分解したりくっつけたりしなくていいのが楽でいいですね。
TCHAR buf[PATH_MAX];
ExpandEnvironmentStrings( buf, %SystemRoot%\system32\NOTEPAD.EXE, PATH_MAX );
------------------------------------------
buf : [C:\WINDOWS\system32\NOTEPAD.EXE]