µÚÒ»·¶ÎÄÍø - רҵÎÄÕ·¶ÀýÎĵµ×ÊÁÏ·ÖÏíÆ½Ì¨

Îļþ¹ÜÀíϵͳC++

À´Ô´£ºÓû§·ÖÏí ʱ¼ä£º2025/11/4 17:57:03 ±¾ÎÄÓÉloading ·ÖÏí ÏÂÔØÕâÆªÎĵµÊÖ»ú°æ
˵Ã÷£ºÎÄÕÂÄÚÈݽö¹©Ô¤ÀÀ£¬²¿·ÖÄÚÈÝ¿ÉÄܲ»È«£¬ÐèÒªÍêÕûÎĵµ»òÕßÐèÒª¸´ÖÆÄÚÈÝ£¬ÇëÏÂÔØwordºóʹÓá£ÏÂÔØwordÓÐÎÊÌâÇëÌí¼Ó΢ÐźÅ:xxxxxxx»òQQ£ºxxxxxx ´¦Àí£¨¾¡¿ÉÄܸøÄúÌṩÍêÕûÎĵµ£©£¬¸ÐлÄúµÄÖ§³ÖÓëÁ½⡣

struct FileNode* CreateFileNode(char filename[],int isdir,int i_nlink) {

struct FileNode* node=(struct FileNode*)malloc(sizeof(struct FileNode));//ÉêÇë½áµã¿Õ¼ä //ÏàÓ¦ÄÚÈݸ³³õÖµ

strcpy(node->filename,filename); node->isdir=isdir; node->i_nlink=i_nlink; node->parent=NULL; node->child=NULL;

node->sibling_prev=NULL;

node->sibling_next=NULL; return node; }

//³õʼ»¯ÎļþÊ÷

void Init() { struct FileNode *binNode,*usrNode, *unixNode,*etcNode,*libNode,*userNode, *binNode2,*liuNode,*sunNode,*ftiNode; strcpy(path,\¸ùĿ¼дÈ뵱ǰ·¾¶ //´´½¨ÎļþÊ÷µÄ½áµã

binNode=CreateFileNode(\ usrNode=CreateFileNode(\ unixNode=CreateFileNode(\ etcNode=CreateFileNode(\ libNode=CreateFileNode(\ userNode=CreateFileNode(\ binNode2=CreateFileNode(\ liuNode=CreateFileNode(\ sunNode=CreateFileNode(\ ftiNode=CreateFileNode(\ cp=tp=root=CreateFileNode(\ //½áµãÏàÓ¦ÄÚÈݸ³Öµ root->parent=NULL; root->child=binNode;

root->sibling_prev=root->sibling_next=NULL;

binNode->parent=root; binNode->child=NULL;

binNode->sibling_prev=NULL; binNode->sibling_next=usrNode;

usrNode->parent=NULL; usrNode->child=libNode;

usrNode->sibling_prev=binNode;

usrNode->sibling_next=unixNode;

9

unixNode->parent=NULL; unixNode->child=NULL;

unixNode->sibling_prev=usrNode; unixNode->sibling_next=etcNode;

etcNode->parent=NULL; etcNode->child=NULL;

etcNode->sibling_prev=unixNode; etcNode->sibling_next=NULL;

libNode->parent=usrNode; libNode->child=liuNode;

libNode->sibling_prev=NULL; libNode->sibling_next=userNode;

userNode->parent=NULL; userNode->child=NULL;

userNode->sibling_prev=libNode; userNode->sibling_next=binNode2;

binNode2->parent=NULL; binNode2->child=NULL;

binNode2->sibling_prev=userNode; binNode2->sibling_next=NULL;

liuNode->parent=libNode; liuNode->child=NULL;

liuNode->sibling_prev=NULL; liuNode->sibling_next=sunNode;

sunNode->parent=NULL; sunNode->child=NULL;

sunNode->sibling_prev=liuNode; sunNode->sibling_next=ftiNode;

ftiNode->parent=NULL; ftiNode->child=NULL;

ftiNode->sibling_prev=sunNode; ftiNode->sibling_next=NULL;

}

//»ñÈ¡Îļþ»òĿ¼Ãû£¬²¢°ÑÖ¸ÕëÖ¸ÏòÆä¸¸Ç×½áµãint FindFilename(char Para2[]) { i=strlen(Para2)-1;

10

j=0;

while(Para2[i]!='/'&& i>=0) {

filename[j]=Para2[i];

i--; j++;

}

filename[j]='\\0';//»ñµÃÄæÐòµÄÎļþ»òĿ¼Ãû£¬´æÈëfilenameÖÐ if(i<0) Para2[i+1]='\\0';

else Para2[i]='\\0'; j--;

for(i=0;i

tmp=filename[i];

filename[i]=filename[j]; filename[j]=tmp; }

if(strlen(Para2)>0) { //²éÕÒ·¾¶ int sign=FindPath(Para2); if(sign==0) return 0;

}

return 1;

}

//»º³åÇø°²È«ÊäÈë×Óº¯Êý

//Èç¹ûÊäÈ볬¹ýbuffer_len£¬Ôò½ØÈ¡Ç°buffer_len-1³¤¶ÈµÄÊäÈ룬 //buffer_len´¦×Ö·ûÓÃ'/0'´úÌæ

int GetInput(char* buffer,unsigned int buffer_len) { unsigned int count=0; while(count

} count++;

}

while(getchar()!=10);

buffer[buffer_len-1]='\\0';

return -1; }

//¸Ä±äĿ¼º¯Êý

int cdComd() { if(!CheckCommand()) //ÃüÁî¼ì²é return 0;

if(strcmp(Para2,\ //¶Ôcd..ÃüÁîµÄ´¦Àí

int i;

11

while(cp->sibling_prev) cp=cp->sibling_prev; if(cp->parent)

{ cp=cp->parent; } //ÕÒµ½¸¸Ç×½áµã else

{ return 0; }

//¶Ôµ±Ç°Â·¾¶½øÐÐÏàÓ¦´¦Àí i=strlen(path);

while(path[i]!='/'&&i>0) i--; if(i!=0) path[i]='\\0'; else path[i+1]='\\0';

}

else { FindPath(Para2);//²éÕÒ·¾¶ }

return 1;

}

//´´½¨Ä¿Â¼º¯Êý int mdComd() { struct FileNode * temp,*tp; temp=CreateFileNode(\ int sign;

if(strlen(Para2)==0) { //²ÎÊý²»ÄÜΪ¿Õ printf(\ÃüÁî¸ñʽÓдíÎó.\\n\ return 0; }

if(strlen(Para2)>20) { //³¤¶È¼ì²é printf(\Ŀ¼Ãû¹ý³¤\\n\

return 0; }

//¸ñʽ¼ì²é

if (!(isalpha(Para2[0])||Para2[0]=='_'||Para2[0]=='\\0'||Para2[0]=='/')) { printf(\Ŀ¼Ãû¸ñʽÓдí!\\n\Ŀ¼Ê××Öĸ¿ÉÒÔΪ'×Öĸ'»ò'Êý×Ö'»ò'/'*/ return 0; }

sign=FindFilename(Para2); //»ñȡĿ¼Ãû if(sign==0)

return 0;

if(cp->isdir!=1) { //È統ǰָÕëÖ¸ÏòµÄÊÇÎļþ£¬Ôò±¨´í printf(\ return 0;

}

12

ËÑË÷¸ü¶à¹ØÓÚ£º Îļþ¹ÜÀíϵͳC++ µÄÎĵµ
Îļþ¹ÜÀíϵͳC++.doc ½«±¾ÎĵÄWordÎĵµÏÂÔØµ½µçÄÔ£¬·½±ã¸´ÖÆ¡¢±à¼­¡¢ÊղغʹòÓ¡
±¾ÎÄÁ´½Ó£ºhttps://www.diyifanwen.net/c3lhh03ha971xep036ol6_3.html£¨×ªÔØÇë×¢Ã÷ÎÄÕÂÀ´Ô´£©
ÈÈÃÅÍÆ¼ö
Copyright © 2012-2023 µÚÒ»·¶ÎÄÍø °æÈ¨ËùÓÐ ÃâÔðÉùÃ÷ | ÁªÏµÎÒÃÇ
ÉùÃ÷ :±¾ÍøÕ¾×ðÖØ²¢±£»¤ÖªÊ¶²úȨ£¬¸ù¾Ý¡¶ÐÅÏ¢ÍøÂç´«²¥È¨±£»¤ÌõÀý¡·£¬Èç¹ûÎÒÃÇ×ªÔØµÄ×÷Æ·ÇÖ·¸ÁËÄúµÄȨÀû,ÇëÔÚÒ»¸öÔÂÄÚ֪ͨÎÒÃÇ£¬ÎÒÃǻἰʱɾ³ý¡£
¿Í·þQQ£ºxxxxxx ÓÊÏ䣺xxxxxx@qq.com
ÓåICP±¸2023013149ºÅ
Top