現在、OS:Solaris8 言語:Cでプログラミングしているんですが、
ハードディスクの容量及び現在使用されている容量を取得する関数(ライブラリ?)ってあるんでしょうか?

初めての投稿なので勝手が分からないのですが、質問に不備などございましたらご指摘ください。
よろしくお願いします。

A 回答 (3件)

statfs()とfstatfs()というシステムコールが


お望みのものに近いと思います。

statfs()は容量を知りたいファイルシステム上にある
ファイル名を指定することで、そのファイルシステムの容量等の
統計情報が取れます。

fstatfs()は既にオープンされているファイルディスクリプタを
使って同じ情報を得ます。

ご質問で「ハードディスクの容量」とありますが、これらの
システムコールで分かるのは、あくまでファイルシステム
(パーティション)の容量です。

SunOS4の情報ですが、多分、Solarisでもあるんじゃないでしょうか?
sys/vfs.hで宣言されています。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
manで調べようと思ったのですがエントリにありませんでした。
sys/vfs.hがあったのでそれを調べてみます。

お礼日時:2002/03/05 18:22

> manで調べようと思ったのですがエントリにありませんでした。



AnswerBook に statvfs() の説明がありますので、参考まで。

参考URL:http://docs.sun.com:80/ab2/coll.40.6/REFMAN2/@Ab …
    • good
    • 0
この回答へのお礼

ありがとうございました。参考になりました。

お礼日時:2002/03/07 15:56

ご存知かも知れませんが、UNIXコマンドでは"df"があります。


詳しくはマニュアルを参照ください。
Cでこのコマンドを実行することも出来ると思いますが少々面倒ですしね。
関数であるかどうかは調べてみます。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
そうなんですよね、"df"を実行することも考えたんですが・・・
面倒なことと処理時間がどうなんだろうと思いまして。
"df"での実装を試してみます。

お礼日時:2002/03/05 10:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング