[C++语法语义探讨] 一道难懂的笔试题
jakey0613
2009-03-02
我朋友问我一道笔试题:
试完成一个函数,它递归枚举给定的目录,并将所有的.bak文件删除。但是,所有名为svn的目录将被跳过。 看了很久我都不知道说的是什么意思?请大家帮忙解解! |
|
jakey0613
2009-03-02
各位大侠,来看看,该怎么解决啊!!!
|
|
weiqiang.yang
2009-03-03
这个看不懂?不会吧?
就是给你一个目录,比如d:\\source\\然后你枚举这个目录下的文件夹和文件,删除文件名以.bak结尾的文件,碰到svn目录就跳过,其他目录的话就进入递归。。。然后重复上述操作 fun(dirname) { //列举所有文件 //删除.bak文件 //列举所有子文件夹 for(所有子文件夹) { //如果子文件夹名字为svn,跳过 fun(subdirname)//递归 } } |
|
weiqiang.yang
2009-03-03
不好意思。。不会写c++代码了。。
|
|
jakey0613
2009-03-05
谢谢啊,不过能不能具体点呢?
|
|
jakey0613
2009-03-05
实在是看不明白,知道的写明白些,先谢谢了!
|
|
jakey0613
2009-03-05
如果用java可以做的话,也可以用java做做
|
|
lupingui
2009-03-05
/** * 递归枚举给定的目录,并将所有的.bak文件删除。但是,所有名为svn的目录将被跳过。 * lupingui * @param path * 2009-3-5 */ public static void deleteFile(String path){ //如果传入的目录为空则直接退出 if (path == null){ return; } File dir = new File(path); //如果传入的目录不存在或者不是目录则直接退出 if (!dir.exists() || !dir.isDirectory()){ return; } //如果目录本身就是SVN目录则直接退出 if (dir.getName().toLowerCase().equals("svn")){ return; } //循环目录下所有文件进行处理 for (File file : dir.listFiles()){ if (file.isFile()){//如果是文件 //如果是".bak"文件则删除 if (file.getName().toLowerCase().endsWith(".bak")){ file.delete(); } }else if (file.isDirectory()){//如果是目录 //如果不是SVN文件夹 if (!file.getName().toLowerCase().endsWith("svn")){ deleteFile(file.getPath()); } } } } |
|
szgaea
2009-03-06
写得真不错
|
|
geminiyellow
2009-03-06
……怎么看着像java版的
|
相关讨论
相关资源推荐
- JavaEye新闻月刊 - 2008年10月 总第8期.pdf
- JavaEye图灵杯第15届问答大赛开始了!赢取丰富图灵新书-8月02日至8月20日
- JavaEye图灵杯第5届问答大赛开始了!奖品丰厚!-3月16日至3月29日
- 感谢 JavaEye华章杯第7届问答大赛奖品!
- 【有奖】JavaEye华章杯第16届问答大赛开始了!
- JavaEye图灵杯第2届问答大赛开始了!-8月4日至8月17日,奖品丰厚,欢迎加入
- JavaEye华章杯第9届问答大赛结束
- JavaEye人民邮电杯第4届问答大赛开始了!(奖品书籍已经更新)-1月6日至1月20日...
- 感谢 JavaEye图灵杯第6届问答大赛奖品!
- 感谢 JavaEye图灵杯第5届问答大赛奖品!