Fab*_*nze 14 c file-io file relative-path absolute-path
如何在GNU/Linux上的C/C++中从给定的相对路径确定文件或目录的绝对路径?
我知道realpath(),但它不适用于不存在的文件.
假设用户输入../non-existant-directory/file.txt,程序工作目录是/home/user/.
我需要的是一个返回的函数/home/non-existant-directory/file.txt.
我需要此函数来检查给定路径是否在某个子目录中.
R..*_*R.. 11
试试realpath.如果失败,则一次开始从一端删除路径组件并重试,realpath直到成功为止.然后将您删除的组件追加到成功realpath调用的结果上.
如果您确定包含目录存在并且您只想在那里创建文件,则只需删除最多一个组件.
另一种方法是首先创建文件,然后调用realpath.