1

opendir()関数で取得されたディレクトリ ストリーム内のエントリの順序について、何らかの仮定を立てることはできますか? たとえば、.常に..最初の 2 つのエントリですか? 順序が変わる原因は何ですか?

4

1 に答える 1

6

Posix は、最初の 2 つのエントリに頼ることはできないと述べてい.ます。..

The Open Group Base Specifications Issue 6から:

dot および dot-dot のディレクトリ エントリはオプションです。IEEE Std 1003.1-2001 のこのボリュームでは、それらの存在をアプリオリにテストする方法は提供されていません。移植可能なアプリケーションは、それらのエントリを探す (そして通常は無視する) ように作成する必要があるためです。それらが最初の 2 つのエントリであると想定するコードを書くことは、常に機能するとは限りません。多くの実装では、最初の 2 つのエントリ以外で、それらの前に「通常の」エントリがあることを許可しているためです。

于 2012-02-16T22:22:41.343 に答える