鱼C论坛

 找回密码
 立即注册
查看: 1206|回复: 2

关于检查目录是否存在

[复制链接]
发表于 2015-7-21 16:58:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
最近在研究QT,但如果不用自带的IDE来编辑就很麻烦,于是想用C++做一个小程序来处理编译之类的麻烦事,现在遇到了一个小问题。关于检查目录是否存在的,网上找了很多代码,但都是比较麻烦,于是自己想了一个思路如下:
在当前目录下获取当前路径的字符串,然后再用控制台命令进入要检查的目录,再获取一次当前路径的字符串,对比两个字符串,如果相同,则表示检查的目录是不存在的(因为没进去嘛),如果不同,则表示进入了要检查的目录,说明要检查的目录是存在的,再返回上一级目录,进行其他操作。
现在遇到了一个问题,用system("cd debug")不管是否存在debug目录,都提示找不到这个目录。使用完整路径也不行,不知道是不是使用cd命令有其他特殊要求呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-7-22 12:21:37 | 显示全部楼层
每人回复就继续顶
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-7-22 17:47:34 | 显示全部楼层
刚刚又试了一下,调用系统命令的system()函数是有一个返回值的,成功执行了返回0,不成功执行返回1。(这个是我自己测试得来的,不知道官方是不是也是这么规定的)。我发现不执行一个能够进入的目录返回值虽然是0,但在调用 dir命令,列出的还是原来目录下的文件。我又试着进入一个不存在的目录,发现system()函数的返回值是1,于是有个更方便的方法,就是调用 system("cd 要检测的目录名"),如果返回值为0,则说明存在,如果返回值为1,则说明不存在,不知道这样是不是有漏洞?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-26 05:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表