c - 如何检查路径是否是另一个的子目录
问题描述
如何检查路径是否是另一个的子目录?我想检查这一点,因为我不想让用户前进作为我的程序的 argv 给出的路径。
我这样做了:
bool can_move(char *base, char *new)
{
return (strncmp(base, new, strlen(base)) == 0
&& (access(new, F_OK) == 0));
}
但问题是如何管理 './' 和 '../' ?
谢谢 !
解决方案
获取用户想要去的参数和路径的 realpath()。确保用户 realpath() 是参数 realpath() 或以参数 realpath()/ 开头
推荐阅读
- android - 世博会弹出反应本机项目上传的apk(由android studio构建)具有比清单文件更多的权限
- mysql - sql groupby 1列然后计算列的百分比
- java - ImageIO.read() 在 5.XMB 图像文件上大约需要 13000 毫秒。我怎样才能提高这个性能?
- reactjs - 材质 UI 数据网格单元格编辑还原提交
- python - 多个 uri 的请求 (asyncio)
- pytorch-lightning - PytorchLightning 在 epoch 的所有步骤完成之前调用 training_epoch_end。总是大约 0.25 步长
- java - Java如何从文件中读取数据
- express - 保护直接链接不被下载。Next.js
- c - 如何使用哈希表保存用户登录/注册的数据?
- wpf - .net 框架 WPF 应用程序中 Webview2 中的 GetText 函数