代码改变世界

CreateDirectory和RemoveDirectory的一个陷阱

2009-12-20 17:35  Iron  阅读(2401)  评论(0编辑  收藏  举报

     呵呵~我还在优化我的oj~

     今天在oj评判模块中添加了环境清理的功能,即清理几个存放零时文件的文件夹,虽然还没有碰到过,但我觉得会有以下问题:如果由于操作系统某个操作失误,某些本该删除的零时文件没有删掉,导致这个文件夹越来越大,所以在启动评判程序的时候,我加了清理功能,及把目录重新创建一遍,但就是这样一个看似很简单的功能,却产生了一个令我摸不着头脑的问题,就是,文件夹删掉和重建的操作总是不能正常工作,用getlasterror检测,报无权限访问错误,我还以为是删除操作可能是异步操作,影响到了重建操作(这个想法搞死我了),查了老半天没有结果,突然发现在传给函数的字符串中我在最后没有加“\”,加上试试看,呵呵,居然好使。。。。

      究其原因是因为RemoveDirectory貌似对字符串最后有无“\”,有兼容功能,我最先用到的是RemoveDirectory,就自然先入为主的认为CreateDirectory也是这样的,而且为了字符串的美观,便没有加“\”,就这样闯祸了~~,小计一下~