• ベストアンサー

UNIX C でディスクサイズの取得がしたい

u_kappaの回答

  • u_kappa
  • ベストアンサー率30% (6/20)
回答No.1

ご存知かも知れませんが、UNIXコマンドでは"df"があります。 詳しくはマニュアルを参照ください。 Cでこのコマンドを実行することも出来ると思いますが少々面倒ですしね。 関数であるかどうかは調べてみます。

ken610
質問者

お礼

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

関連するQ&A

  • ディスクの空き容量を取得するシステム関数はありますか?

    ディスクの空き容量を取得するシステム関数はありますか? dfコマンドで、ディスクの空き容量を取得できますが、 このdfコマンドに相当するシステム関数はありますでしょうか? やりたいことは、例えば、/etc/varのディレクトリの空き容量がどれくらいあるかを取得したい ということです。 dfコマンドにより上記は、実現出来ますが、直接C言語から呼び出すことが可能なシステム関数があれば と思い質問しました。 上記に該当するシステム関数がない場合はsystem関数を使用してdfを実行する予定ですが、それは最後の手段と考えています。 OSはintel版solarisで使用する予定ですが、linux前提でもかまいません。

  • ディスクの総セクタサイズを取得したい。

    ハードディスクやリムーバブルディスクなどストレージデバイスの容量を取得したいのですが どうやって調べたらよいのでしょうか? C言語、WindowsXP環境での方法を教えてください。 ちなみに、ディスクは未フォーマットで 全部0でクリアされている場合でも可能な方法が好みです。

  • C言語についてどうしてもわからない疑問

    プログラミング初心者です。 C言語を勉強中に疑問に思ったことが2つあります。 まず1つ目。 C言語以外のプログラミング言語、例えばjavaとかC#とかjsとかpythonとかrubyとかPHPとか、には開発者にとって便利なライブラリとかフレームワーク(僕にはこの2つの明確な違いがわかりません。が、どちらも「開発者が定義しなくてもよい関数やオブジェクトの集合」という認識があります)がありますよね。 そのおかげで色んな人達がプログラミングし易くなりました。 ネット(はてぶのホットエントリとか)でも「馬鹿な俺がプログラミングを勉強して〇〇を作った」といった記事をよく目にします。 でも「C言語を使って」というのは聞いたことがありません。 そもそも、C言語はそいういったライブラリやフレームワークが少ないように感じます。 検索してもrailsとかjqueryのようなフレームワーク(ライブラリ?)は見つかりません。 これが無かったらプログラムなんて作れないのでは? しかし、世間にはC言語で作られたプログラムが多いのもまた事実。 C言語ではいったいどのように開発が行われているのか教えてください。 2つ目 unixとかlinuxといったOSはC言語で書かれている聞いたことがあります。 しかし、プログラムの開発は「コードを書く→コンパイル(→デバッグ)→実行」という流れですよね。 ではOSを開発するときに、そのコードをどうやってコンパイルするのでしょうか? コンパイラはOSの上に立っているとするなら、OSがない状態でコンパイラはどこに立てばいいのか。 そこがわかりません。 誰かこの2つの疑問に答えてください。 お願いします。

  • C言語のライブラリで"A"を20文字生成する関数名を知りたいです。

    C言語のライブラリで"A"を20文字生成する関数名を知りたいです。 C言語やVBなどのプログラミングで良く関数やライブラリとして存在している名前を調べる良いサイトを知っている方はいらっしゃいますか?

  • C言語について。

    C言語プログラマとしては、スタートアップコードは・・・ ・自分が書いたプログラムを、直接動かすために必要なライブラリ ・それはコンパイル後、リンカによって追加されるライブラリこれは、 どういう意味でしょうか?分かりやすく教えていただけると幸いです。すみません。で、 以下のかぶくんまんさんの回答です。 https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11247611941 で、 C言語におけるプログラミングとは「main関数を書くこと」に他ならない。なぜ「main関数を書く」ことがC言語におけるプログラミングに他ならないのかと言えば、それは偏に「C言語のコンパイラはmain関数を呼び出すプログラムを生成するから」です。それがmain関数を求めるので結果的にmain関数がリンクされ、そしてmain関数が求めるままに他の関数もリンクされていくわけです。 で、その「main関数を呼び出すプログラム」こそが、C言語における「スタートアップコード」。 という回答で、main関数以降は、プログラマが書くのですよね?プログラマが関数をリンクさせる様なプログラムを書くということでしょうか?教えていただけると幸いです。すみません。 という所が分かりません。教えていただけると幸いです。すみません。以下のURL https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12247932542

  • ライブラリ作成時のグローバル変数の対応(C言語)

    C言語を用いてライブラリを作成しています。 ライブラリは機能ごとにファイルを分けています。 今、ライブラリの中でのみ使用するグローバル変数やグローバル関数が必要になりました。 このグローバル変数や関数は複数ファイルで参照するため、static宣言はできません。 しかし、このグローバル変数や関数は公開する必要はありません(ライブラリの中でのみ使用します)。 このようなことをC言語で実現するためにはどうしたらよいのでしょうか? 開発環境は Windows7 VisualC++2010 です。 VisualC++2010を使うなら C++で書けばいいのではないかといわれそうですが、 C言語でプログラミングしたいのです。 以下のようなサイトがあったのですが、これを使うしかないでしょうか? http://0xcc.net/blog/archives/000108.html

  • C#とCについて

    自分は、C#の勉強をしていてネットワークプログラミングについて勉強したいと思い、「猫でも分かるネットワークプログラミング」という本を読んでいるのですがこの本は解説がC++で書いてあります。 そこで聞きたいのですがC#とC++の関数と言うのは言語が違うのでまったく異なっているものなのでしょうか?この本はとても分かりやすいほんと聞いているので、もしも、二つの言語間の関数があまり違いがないのならば、自分でこの本のC++のコードをC#のコードに変換しながら勉強したいと思っています。

  • C# を始めたいのです. お知恵を拝借させてください

    お手数ですが、お知恵を拝借させてください. お願いします. 最近、C#を始めようと考えました.  参考書として まず、次の書籍を手に入れました. 全部、Microsoft の公式解説書です.   C#によるプログラミング Windows 上 C#によるプログラミング Windows 下 C# 標準リファレンス   Visual C#.NET ランゲージ リファレンス   プログラミング C# ところが、最初からよくわからぬ事ばかりです. どの本を見てみても、私がまず知りたい入出力関数の使い方が 見当たりませんです. 昔のC言語のころは、printf と、%6.2f のようなフォーマットでした. WriteLine となることはわかりましたが、フォーマットの詳細が まったく記述されていません. ファイルのオープンの手続きも同様です.どこにも見当たりません. C言語のころ、これらは命令ではなく、ライブラリ関数だと聞きました. それなら、どこを、何を見れば、この関数が見つけられるでしょう? 全く、困っています. よろしくお願いします.

  • c言語ネットワークプログラミングのAPIを乗せているwebページないですか?

    現在私はC言語でソケット通信を使って サーバとクライアントでメッセージのやり取りをおこなってみたいと思っているのですが どのライブラリのどの関数を使って通信できるのか全くわかりません。 (例えば、readの返り値ってなにを返すんだろう?とか) できればunix上(SunOS)でのc言語ネットワークプログラミングに関する APIが乗っているURLを教えていただけないでしょうか?(できれば日本語のwebページがいいです。)

  • .NETでのドライブのクラスタサイズの取得

    C#やVBなどを利用してプログラミングする場合、ドライブのクラスタサイズを取得したい場合はWindowsAPIのGetDiskFreeSpace関数を利用するしか方法はないのでしょうか? GetDiskFreeSpace関数は現在は推奨されていないということですので、他に方法があるのならそちらの方法で取得しようと考えています。