知りたかったのですが、C++を使用してWindowsのドライブで使用可能な空き容量を見つけるにはどうすればよいですか。入力としてディレクトリのパスがあり、このドライブまたはこのディレクトリにデータを保存するのに十分なスペースがあるかどうかを知りたいと思いました。このアプリケーションはバッチモードで他のアプリケーションと対話する必要があるため、主な制約は、VC++やその他のWindowsプログラミングではなくC++のみを使用する必要があることです。
1128 次
2 に答える
3
Windows で利用可能な空き容量を知る必要がある場合は、http:
//msdn.microsoft.com/en-us/library/windows/desktop/aa364937 (v=vs.85).aspx を参照してください。
POSIX システムでは、これを試すことができます: http://pubs.opengroup.org/onlinepubs/009604499/basedefs/sys/statvfs.h.html
ファイル システムを使用せずに利用可能な空き領域を取得することは不可能だと思います。これは、一連のバイトがファイルであることを特定する必要があるためです... (HDD 上のブロックの総数を特定する必要があります。ブロックはシステム用に予約されており、使用中のブロックのフラグと、空いているブロックのフラグ、そしておそらくもっと関連するもの...)
間違っているかもしれませんが、これは私の推測です...
お分かりできると良いのですが...
=)
于 2012-04-12T11:44:12.683 に答える
0
移植可能な解決策は、関連情報を含む構造体を返すBoost.Filesystemスペースを使用することです。space_info
于 2012-05-09T13:51:32.493 に答える