返回首页

我想目录的内容复制到目录B(所有子目录和文件)。有一个简单的语句将做到这一点?我已经一派"copydir"(似乎是一个不错的猜测),但没有得到任何东西,看上去像一条直线的答案。谢谢。

回答

评论会员:游客 时间:2012/02/04
TheyCallMeMrJames:我认为,一个辅助函数,你必须去一个由一对文件值得庆幸的是,还有一个辅助功能的CP{S0}:imgsrc=http://www.orcode.com/img/ico/smiley_smile.gif欢呼
看看{A}]
评论会员:游客 时间:2012/02/04
mbue:那容易:codeprestyle="margin-removed0pt;"lang="c++"spanclass="code-preprocessor"#pragma/spanoncespanclass="code-preprocessor"#include/spanspanclass="code-preprocessor"spanclass="code-keyword"</spanspanclass="code-leadattribute"stdio.h/spanspanclass="code-keyword">/span/spanspanclass="code-preprocessor"#include/spanspanclass="code-preprocessor"spanclass="code-keyword"</spanspanclass="code-leadattribute"tchar.h/spanspanclass="code-keyword">/span/spanspanclass="code-preprocessor"#include/spanspanclass="code-preprocessor"spanclass="code-keyword"</spanspanclass="code-leadattribute"windows.h/spanspanclass="code-keyword">/span/span spanclass="code-comment"///spanspanclass="code-comment"this:WalkFs/spanspanclass="code-keyword"class/spanvWalkFs{spanclass="code-keyword"public/span:spanclass="code-comment"///spanspanclass="code-comment"vWalkFs/spanspanclass="code-keyword"virtual/spanspanclass="code-keyword"int/spanEnter(spanclass="code-keyword"const/spanTCHAR*full,WIN32_FIND_DATA*fd)=spanclass="code-digit"0/span;spanclass="code-keyword"virtual/spanspanclass="code-keyword"int/spanLeave(spanclass="code-keyword"const/spanTCHAR*full,WIN32_FIND_DATA*fd)=spanclass="code-digit"0/span; }; spanclass="code-keyword"unsigned/spanspanclass="code-keyword"int/spanscopy(TCHAR*dst,spanclass="code-keyword"const/spanspanclass="code-keyword"unsigned/spanspanclass="code-keyword"int/spancbdst,spanclass="code-keyword"const/spanspanclass="code-keyword"unsigned/spanspanclass="code-keyword"int/spanpos,spanclass="code-keyword"const/spanTCHAR*src){spanclass="code-keyword"unsigned/spanspanclass="code-keyword"int/spanix,len=_tcslen(src);spanclass="code-keyword"if/span((pos+len)<cbdst){spanclass="code-keyword"for/span(ix=0;ix<len;ix++)dst[pos+ix]=src[ix];dst[pos+ix]=0;spanclass="code-keyword"return/spanpos+len;}spanclass="code-keyword"return/spanspanclass="code-digit"0/span;} spanclass="code-keyword"static/spanspanclass="code-keyword"void/span__WalkFs(TCHAR*path,spanclass="code-keyword"const/spanspanclass="code-keyword"unsigned/spanspanclass="code-keyword"int/spancb,spanclass="code-keyword"const/spanspanclass="code-keyword"unsigned/spanspanclass="code-keyword"int/spanplen,vWalkFs&walk){spanclass="code-keyword"typedef/spanspanclass="code-keyword"struct/span{spanclass="code-keyword"static/spanspanclass="code-keyword"inline/spanspanclass="code-keyword"int/spanisdir(WIN32_FIND_DATA&fd){spanclass="code-keyword"return/spanFILE_ATTRIBUTE_DIRECTORY&fd.dwFileAttributes;}spanclass="code-keyword"static/spanspanclass="code-keyword"inline/spanspanclass="code-keyword"int/spanisvalid(WIN32_FIND_DATA&fd){spanclass="code-keyword"if/span(!(FILE_ATTRIBUTE_DIRECTORY&fd.dwFileAttributes))spanclass="code-keyword"return/spanspanclass="code-digit"2/span;spanclass="code-keyword"if/span(spanclass="code-string"'/spanspanclass="code-string".'/span!=fd.cFileName[spanclass="code-digit"0/span])spanclass="code-keyword"return/spanspanclass="code-digit"1/span;spanclass="code-keyword"if/span(0==fd.cFileName[spanclass="code-digit"1/span])spanclass="code-keyword"return/spanspanclass="code-digit"0/span;spanclass="code-keyword"if/span(spanclass="code-string"'/spanspanclass="code-string".'/span!=fd.cFileName[spanclass="code-digit"1/span])spanclass="code-keyword"return/spanspanclass="code-digit"1/span;spanclass="code-keyword"if/span(0==fd.cFileName[spanclass="code-digit"2/span])spanclass="code-keyword"return/spanspanclass="code-digit"0/span;spanclass="code-keyword"return/spanspanclass="code-digit"1/span;}}_; WIN32_FIND_DATAfd;HANDLEhf;spanclass="code-keyword"unsigned/spanspanclass="code-keyword"int/spanflen; scopy(path,cb,plen,__TEXT(spanclass="code-string""/spanspanclass="code-string"\\*.*"/span));hf=FindFirstFile(path,&fd);spanclass="code-keyword"if/span(INVALID_HANDLE_VALUE!=hf){spanclass="code-keyword"do/span{spanclass="code-keyword"if/span(_::isvalid(fd)){flen=scopy(path,cb,plen+1,fd.cFileName);spanclass="code-keyword"if/span(walk.Enter(path,&fd)){spanclass="code-keyword"if/span(_::isdir(fd))__WalkFs(path,cb,flen,walk);walk.Leave(path,&fd);}}}spanclass="code-keyword"while/span(FindNextFile(hf,&fd));FindClose(hf);}path[plen]=spanclass="code-digit"0/span;} spanclass="code-keyword"void/spanWalkFs(vWalkFs&walk,spanclass="code-keyword"const/spanTCHAR*path){TCHARfull[_MAX_PATH+_MAX_FNAME+0x400];spanclass="code-keyword"unsigned/spanspanclass="code-keyword"int/spancbf=spanclass="code-keyword"sizeof/span(full)/sizeof(full[spanclass="code-digit"0/span]);spanclass="code-keyword"unsigned/spanspanclass="code-keyword"int/spanflen=scopy(full,cbf,spanclass="code-digit"0/span,path);spanclass="code-keyword"if/span(flen&&(spanclass="code-string"'/spanspanclass="code-string"\\'/span==full[flen-spanclass="code-digit"1/span]))--flen;__WalkFs(full,cbf,flen,walk);} spanclass="code-SummaryComment"////spanspanclass="code-comment"//////////////////////spanspanclass="code-comment"///spanspanclass="code-comment"main/spanspanclass="code-keyword"int/span_tmain(spanclass="code-keyword"int/spanargc,_TCHAR*argv[]){TCHARsrc[0x1000];spanclass="code-keyword"if/span(spanclass="code-digit"2/span<argc){spanclass="code-keyword"class/spanw:spanclass="code-keyword"public/spanvWalkFs{spanclass="code-keyword"public/span:spanclass="code-comment"///spanspanclass="code-comment"vWalkFs/spanspanclass="code-keyword"virtual/spanspanclass="code-keyword"int/spanEnter(spanclass="code-keyword"const/spanTCHAR*full,WIN32_FIND_DATA*fd){scopy(dst,spanclass="code-keyword"sizeof/span(dst)/sizeof(dst[spanclass="code-digit"0/span]),len,full+rel);spanclass="code-keyword"if/span(FILE_ATTRIBUTE_DIRECTORY&fd->dwFileAttributes){CreateDirectory(dst,spanclass="code-digit"0/span);}spanclass="code-keyword"else/span{_tprintf(__TEXT(spanclass="code-string""/spanspanclass="code-string"copy:%s->%s\r\n"/span),full,dst);CopyFile(full,dst,spanclass="code-digit"0/span);}spanclass="code-keyword"return/spanspanclass="code-digit"1/span;}spanclass="code-keyword"virtual/spanspanclass="code-keyword"int/spanLeave(spanclass="code-keyword"const/spanTCHAR*full,WIN32_FIND_DATA*fd){spanclass="code-keyword"return/spanspanclass="code-digit"1/span;}spanclass="code-keyword"public/span:w(spanclass="code-keyword"const/spanTCHAR*path){len=scopy(dst,spanclass="code-keyword"sizeof/span(dst)/sizeof(dst[spanclass="code-digit"0/span]),spanclass="code-digit"0/span,path);rel=spanclass="code-digit"0/span;CreateDirectory(dst,spanclass="code-digit"0/span);}TCHARdst[0x1000];spanclass="code-keyword"unsigned/spanspanclass="code-keyword"int/spanlen;spanclass="code-keyword"unsigned/spanspanclass="code-keyword"int/spanrel;}walk(argv[spanclass="code-digit"2/span]); walk.rel=scopy(src,spanclass="code-keyword"sizeof/span(src)/sizeof(src[spanclass="code-digit"0/span]),spanclass="code-digit"0/span,argv[spanclass="code-digit"1/span]);WalkFs(walk,src);_tprintf(__TEXT(spanclass="code-string""/spanspanclass="code-string"<key>"/span));_gettch(); }spanclass="code-keyword"return/spanspanclass="code-digit"0/span;} /pre/code祝你好运。|