Win32APIで、10240 → "10K" みたいに補助単位付き文字列に変換してくれるのがあったような気がするんだけど、名前もわからないし効率的なググり方もわからない。Shell APIだったっけ。誰か知ってたら教えてください!
2010-10-12 18:44:48 via web
Shell Path Handling Functions (Windows)
Vista以降のExplorerではテラバイト表示にも対応していますが、それはこの辺がテラバイト表記に対応したからなんでしょうね。
StrFormatByteSizeEx function (Windows)
それはさておき、ファイル関係の操作するとき、PathCombineとか、ほんとありがたく使ってます。
この辺のAPIは引数の使い方もinoutが多く、ほかのAPIとはちょっと毛色が違う印象ですね。あと、使用例がドキュメントに多いのもやや意外です。というか、この辺は単発で使い方が説明できるものが多いというのもあるのでしょうけれど。
余計な苦労している人は是非どうぞ。長いパスに対応していないとかありますけど、.NETのBCLでも長いパスに対応してないしと言って、逃げる(^^;。でも次のBCLでは長いパスに対応しそうだよなー。