私はクラス用のプログラムを書いていますが、少しのコードの出力について疑問に思っています。私はこのようなコードを持っています:
DIR* dir = opendir(".");
struct dirent* reader;
while ((reader = readdir(dir)) != NULL)
{
//print the name of the path found by reader.
}
これで問題なく動作しますが、最初の2つのリストは常に次のようになっています。
.
..
//rest of files here
ここで、最初のドットは単に現在のディレクトリの名前であると想定して.
いますが、2番目のダブルドットは何のためのものですか?ファイル階層を上に移動できることは知ってcd ..
いますが、サブディレクトリ名を読み取るときになぜそれが出力されるのかわかりません。
私が心配している理由は、すべてのファイルを再帰的に調べたいのですが、を調べた場合..
、そこにある最初のディレクトリ名があり.
、ループが発生します。では、どうすればこれを回避できますか?