如何检查文件(输入)是否在C程序的目录中? 首先我想我可以打开文件,但我不希望用户通过输入类似../important_dir/important_file
来看到我的其他文件,但如果用户执行诸如./dir1/../file1
之类的操作,也许可以。也就是说,只要该文件位于当前目录(无子目录),就可以打开该目录。如何检查一个文件是否在C中的当前目录?
然后,我四处搜索,发现readdir
,它可以用来查找当前目录中的所有内容,但是,如果当前目录中有很多文件,那么每次获取用户时查找文件名都会太慢输入。
有没有快速和安全的方法来做到这一点?
嗨,我试图不允许用户检查我的文件不在当前目录中,似乎stat会接受一个路径,只要它是有效的,所以它会给用户文件,如'../dir3/file4',这不是我所期望的。 – user1537085 2013-03-13 09:01:56