苹果手机怎样导入电影么把电影导入秘密

WindowsAPI遍历删除文件夹的方法
  项目中需要删除文件夹,当然Windows不带直接删除不为空的文件夹的API于是只能自己写。重新开个工程先试验一下。写这篇日志以免自己忘记怎么做……
  遇到的问题主要有:
  1、Unicode编码下窄字符转宽字符的问题;
  2、采用递归方式深度搜索文件夹;
  3、调用函数FindNextFile可以Find出.\和..\两个路经必须掠过;
  4、将文件夹与所有子文件夹中的文件删除后必须先调用FindClose函数才能RemoveDirectory。
代码如下:
#include &Windows.h&
#include &string&
#define IN
#define OUT
#define INOUT
std::wstring convertStringToWString( IN const std::string
&szString )
&& &size_t
stLen = szString.length();
&& &wchar_t
*pwBuffer = new wchar_t[stLen + 1];
&& &memset(
pwBuffer, 0, stLen + 1 );
&MultiByteToWideChar( CP_ACP,
& szString.c_str(),
& pwBuffer,
& stLen * sizeof(wchar_t) );
&pwBuffer[stLen] = 0;
&std::wstring wszString(pwBuffer);
&delete[] pwB
&pwBuffer = NULL;
&& &return
void deleteDirectory( IN const std::wstring
&wszDirPath )
&std::wstring wszCplDirPath = wszDirPath +
convertStringToWString("\\");
&std::wstring wszFindPath = wszDirPath +
convertStringToWString("\\*");
&WIN32_FIND_DATA fileD
&& &HANDLE
hFind = FindFirstFile( wszFindPath.c_str(),
&fileData );
hFind == INVALID_HANDLE_VALUE )
& &FindClose(hFind);
& &DeleteFile( wszDirPath.c_str()
跳过遍历出的"..//"
&FindNextFile( hFind, &fileData
&& &while (
FindNextFile( hFind, &fileData ) )
& &std::wstring wszChildDirPath =
wszCplDirPath + fileData.cFileN
&deleteDirectory(wszChildDirPath);
&FindClose(hFind);
&RemoveDirectory( wszCplDirPath.c_str() );
int main(void)
&deleteDirectory(
convertStringToWString("E:\\王闻多") );
&& &return
  好吧,接下来移植就很方便了……当然啦,习惯用STL的东西了……其实直接用数组效率更高……
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。Windows 中通过DOS命令行遍历目录批量删除文件命令_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
Windows 中通过DOS命令行遍历目录批量删除文件命令
上传于||文档简介
&&Windows 中通过DOS命令行遍历目录批量删除文件命令
你可能喜欢&&国之画&&&& &&&&&&
&& &&&&&&&&&&&&&&
鲁ICP备号-4
打开技术之扣,分享程序人生!pzg250 的BLOG
用户名:pzg250
文章数:11
评论数:19
访问量:134912
注册日期:
阅读量:5863
阅读量:12276
阅读量:379498
阅读量:1071955
[匿名]51cto游客:
51CTO推荐博文
python的列表list可以用for循环进行遍历,实际开发中发现一个问题,就是遍历的时候删除会出错,例如l = [1,2,3,4]for i in l:&& &if i != 4:&& & l.remove(i)print l这几句话本来意图是想清空列表l,只留元素4,但是实际跑起来并不是那个结果。再看下面,利用index来遍历删除列表ll = [1, 2, 3, 4]for i in range(len(l)):& & if l[i] == 4:& && &&&del l[i]print l这样没问题,可以遍历删除,但是列表l如果变为 l = [1,2,3,4,5]如果还是按照上面的方法,设想一下,range开始的范围是0-4,中间遍历的时候删除了一个元素4,这个时候列表变成了= [1,2,3,5],这时候就会报错了,提示下标超出了数组的表示,原因就是上面说的遍历的时候删除了元素所以python的list在遍历的时候删除元素一定要小心可以使用filter过滤返回新的listl = [1,2,3,4]l = filter(lambda x:x !=4,l)print l这样可以安全删除l中值为4的元素了,filter要求两个参数,第一个是规则函数,第二个参数要求输入序列,而lambda这个函数的作用就是产生一个函数,是一种紧凑小函数的写法,一般简单的函数可以这么些或者可以这样l = [1,2,3,4]l = [ i for i in l if i !=4]//同样产生一个新序列,复值给lprint l或者干脆建立新的list存放要删除的元素l = [1,2,3,4]dellist = []for i in l:&& &if i == 4:&& & & &dellist.append(i)for i in dellist:&& &l.remove(i)这样也能安全删除元素所以要遍历的时候删除元素一定要小心,特别是有些操作并不报错,但却没有达到预期的效果上面说到产生新序列,赋值等等,用python的id()这个内置函数来看对象的id,可以理解为内存中的地址,所以有个简要说明如果l = [1,2,3,4]ll = ll.remove(1)print l//肯定是[2,3,4]print ll//这里会是什么?如果用id函数查看的话就发现print id(l),id(ll)打印出相同的号码,说明他们其实是一个值,也就是说上面的print ll将和l打印的一样,所以python有这种性质,用的时候注意一下就行了本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)
21:13:00 10:12:47 10:14:11 08:45:29 15:24:00 18:18:22 17:04:38您的位置:> -&
-& >下载 档案号:#43379
软件授权:
软件大小:
软件语言:
软件评级:
官方主页:
更新时间:
应用平台:
Win2000/WinXP/Win2003/WinVista
复制到论坛
复制到博客
绿盟口号! 伸出你的手 - 绿色分享:
官方评级:4/8485
同类软件推荐
本类下载排行

我要回帖

更多关于 苹果手机怎样导入电影 的文章

 

随机推荐