ファイル(入力)がCのプログラムのディレクトリにあるかどうかを確認するにはどうすればよいですか?最初はファイルを開くだけでいいと思いますが、のような入力で他のファイルを表示したくない../important_dir/important_file
のですが、ユーザーがのようなことをしても大丈夫かもしれません./dir1/../file1
。つまり、ファイルが現在のディレクトリ(子ディレクトリなし)にある限り、それを開いても問題ありません。
次に、検索しreaddir
て、現在のディレクトリ内のすべてを検索するために使用できるを見つけましたが、それでも、現在のディレクトリに多数のファイルがある場合、ユーザー入力を取得するたびにファイル名を検索するには遅すぎます。
それを行うための高速で安全な方法はありますか?