• ベストアンサー

ファイルディスクリプタとは?

要所要所で「ファイルディスクリプタ」といった単語が出てきているのですが、 どこで調べてもはっきりとした意味がわかりません。 なんとなく、3種類の数値を返すといったことはわかったのですが、 ファイルディスクリプタの意味をもっと詳しく、丁寧にご解説いただけませんでしょうか。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Lara-Port
  • ベストアンサー率36% (12/33)
回答No.2

「ファイルディスクリプタ」は、「ファイル記述子」・「ファイルハンドル」とも言われます。 これは、入出力できるファイルを管理するもので、0~255の値を持ちます。 ファイルディスクリプタは、ファイルを1つ開くとそのファイルに対して、ユニークな数値を割り当てられます。 >>なんとなく、3種類の数値を返す これは、関数の仕様の話だと思いますが、たとえば、open()関数では、ファイルが開けたら、ファイルディスクリプタを戻り値として、エラーの場合は、ファイルディスクリプタに存在しない数値である「ー1」を返しています。 ちょっと解りにくいですかね?

Wingard
質問者

お礼

ご回答ありがとうございました。 つまり、ファイルを開いたときに、その開いたファイルによって固有の数値が帰ってくる、 と考えてよろしいのでしょうか・・・? で、もしファイルが開けなかったときには「-1」が帰ってくる・・・。 これであっているとすれば、なんとなく理解できました。 ありがとうございました。

その他の回答 (4)

  • Lara-Port
  • ベストアンサー率36% (12/33)
回答No.5

 7_7_7さんと私の回答を合わせて、理解していただけたのでしたら、幸いです。  私の回答のところでかかれていた質問ですが、そう理解していただいて良いと思います。 ただ、以下の例が示すように、オープンする順番により、与えられるファイルディスクリプタの値が変わることを理解しておいて下さい。 (例1) fd_a = open( "A", ....);/* fd_a=4となる */ fd_b = open( "B", ....);/* fd_b=5となる */ (例2) fd_b = open( "B", ....);/* fd_b=4となる */ fd_a = open( "A", ....);/* fd_a=5となる */ ※open()関数の引数は、例を見やすくするため、省略して書いていますが、実際に使用するときは、正確に書いて下さいね。

Wingard
質問者

お礼

ご回答ありがとうございました。 なんとなく、理解できてきたような気がします。 もう少し勉強してみます。 ありがとうございました^^

noname#2072
noname#2072
回答No.4

 ↓ このサイトの方が具体例が表示して有るけど。

参考URL:
http://x68000.startshop.co.jp/~68user/net/c-open.html
Wingard
質問者

お礼

ありがとうございました。 とても参考になりました。 とはいえ、理解するにはもう少し時間がかかりそうです・・・。

noname#2072
noname#2072
回答No.3

 パソコン用語辞典には無いけどグーグルの検索で http://www.soi.wide.ad.jp/class/99009/slides/02/31.html http://www.soi.wide.ad.jp/class/99009/slides/02/30.html ↑  説明が書いてありますから。

参考URL:
http://www.soi.wide.ad.jp/class/99009/slides/02/31.html
Wingard
質問者

お礼

ご回答、ありがとうございました。 このサイト、探せませんでした・・・。 参照させていただいたのですが、 やはり私が理解するには難しくて・・・。 すみません、もともと文型でして、 こういう難しい用語を並べられると混乱してしまいます。 ぜひ、文型にも分かるようにご説明いただけないでしょうか;; よろしくお願いいたします>_<

  • 7_7_7
  • ベストアンサー率24% (115/469)
回答No.1

プログラム内でopenされているファイルを識別するために割り振る番号。 0,1,2の番号は 0標準入力 1標準出力 2標準エラー出力 として使用されているため、ファイルディスクリプタは3から順番に番号が割り振られる。

Wingard
質問者

お礼

ご回答ありがとうございました。 すみません、やっと意味がわかりました。 Lara-Portさんの説明と合わせて考えると、 つまり帰ってくる数値は4つだけじゃないってことなんですね。 ただ、もう少し詳しく説明いただけないでしょうか・・・。

関連するQ&A

  • C言語のread関数に関するファイルディスクリプタ

    C言語のread関数に関するファイルディスクリプタについて質問です。 open関数から得られたファイルディスクリプタを、一般的には変数(例:fd)に代入して、fdをread関数や、write関数の第1引数として用いるんですが、ファイルディスクリプタは数値のはずなので、それを引数として用いてもどうやってそこからパス情報を得ることが出きるのかが分かりません。 例えば以下のような場合です。 ****** 省略 fd = open("/home/XXX/YYY", O_RDONLY); read(fd, buf, 10); 省略 ****** 誰か詳しい方がおりましたら、どうかご教授よろしくお願い致します。

  • ファイルディスクリプタ

    unix系環境+Cではファイルディスクリプタを使用しようとすることが多いそうですが、その利点は何でしょうか? さまざまな制御系を一意的に表現できるというのは便利だと思うのですが、ファイルを読み込むだけならポインタで操作した方が早いのではないかと思うのですが。   

  • タルムードの翻訳されたものか解説本

    タルムードを日本語に翻訳したものか、お勧めの良い解説本はないですか? 解説本は要所を抜き出したものではなく、タルムード全てを解説しているようなものがいいです。

  • neverthelessとunlessについて

    neverthelessとunlessという単語の詳しい解説をしていただけないでしょうか? 難しい単語でも何回か書いたり、本の中で読んだりして覚えていけますが、この二つだけは全然覚えられません。二つを混同してしまったり、意味も覚えられません。良い覚え方みたいなものや、定着し易い解説を宜しくお願いいたします。

  • 違法?

    英単語や諺等をわかりやすく解説するホームページを作りたいと思っているのですが、 英単語の意味や諺の意味等をHP上に載せる事は違法ですか?

  • サクラエディタで文字コードを確認したい

    文字コード UTF-8になっているかをサクラエディタで確認したいのですがネットで検索した意味では分かりません。 http://blog2.k05.biz/2013/05/char-code.html http://freebsd.sing.ne.jp/tool/03/04/05.html UTF-8という数値を探してるはずなのにCRLFの右に記載している数値はマウスを動かすと絶えず変動します。 UTF-8という単語そのものが文字コードの種類であると理解していたのですが ますますわからなくなりました。

  • エクセルで画像取り込みをするには

    エクセルについて質問です。 セルにIDや名前を入力すると、各データから数値や画像などを、それぞれ決まったセルに自動で、IDや名前を判別して入力できるようにしたいです。 数値などのデータはエクセルに入力してからファイルに保存し、そこから引っ張ってこれるようにできたのですが、画像だけがうまく取り込めません。 画像はJPEGや、オフィスのイメージファイルです。 大きな1枚の図面なのですが、各要所、要所にマーキングをして、IDや名前から、そのマーキングをつけた半径10cm程の図面をピックアップして、エクセルのセルに表示させたいです。 一枚づつ画像ファイルの要所要所を切りとりファイルとして保存して、エクセルに貼り付けるというようなやり方ではできたのですが、IDや名前から、マーキングした場所の画像を呼び出し、IDや名前をかえるとセルの画像がかわっていくかんじにしたいのですが可能でしょうか? よろしくお願いします。

  • たまに見かける「a la」とは(仏語)

    文章などでたまに見かける「a la」とはどういう意味なのでしょう。 検索してみたのですが単語としての意味が出てこなかったため もしかしたら訳したりしないものなのかな?と思い質問しました。 単語として、あるいは文法的にどのような意味を持つのかを 英語に例えて解説していただけると助かります。 (もちろん日本語でも当てはまるものがあれば全然構いません) ちなみに、プリンアラモードの「アラ」もこれですか?(笑)

  • 文法書を探しています

    中高(+大)学の英語の丸暗記に頼った英語が大変で、個人的に危機感を抱いているので丸暗記とは違った方向で勉強したいと考えています。 単語と前置詞との組み合わせの違いで膨大な意味の違いがある熟語なんてさすがに覚える気が失せました.......一文全部丸暗記ですからね....... 公式的な単語の並びを突然持ち出してきて「これは~という意味だ」という解説ではなく、前置詞の意味や単語の意味を丁寧に解説されていて他に応用ができそうな本を探しています。 できれば、ネイティブはこんな事を考えながら文章を作っているという事を日本人向けに解説した本が良いのですが、「これは良かった」という本を教えてください。

  • 広辞苑は正しい日本語の辞書ですか?

    法律ならば六法全書ですが、正しい日本語(単語)の意味は広辞苑が正しいということで宜しいのでしょうか?正しい日本語がなんであるか?というのは深く難しい疑問ですが、それでも広辞苑に載っている単語の意味や解説が日本において正しい解釈であると捉えてよろしいでしょうか?