大文字と小文字を区別しないマウントされた cifs ファイル システム/network/cifs
がある場合、C を使用して大文字と小文字を区別するパスを取得するにはどうすればよいですか?
たとえば、 fs にはファイルがあります/network/cfis/Adena/t.txt
。(適切に解決される)与えられ/network/cfis/AdEnA/T.txt
た場合、私は/network/cfis/Adena/t.txt
.
それを行う1つの方法は、パスを再帰的に反復し、それらをすべて小文字で一致させ、ディレクトリの反復によって返される実際の大文字と小文字を取得することです。ただし、これには、私がむしろやりたくない多くのシステムコールが含まれます。
マウント オプションの変更は解決策ではありません。
これが不可能な場合、パスが大文字と小文字を区別しないファイル システム上にあるかどうかを判断できますか? このようにして、必要な場合を除き、再帰的なディレクトリの反復を回避できました。