可以寫一個分割函數(shù),用于分割指令,比如cat a.c最后會被分割成cat和a.c兩個字符串、mv a.c b.c最后會被分割成mv和a.c和b.c三個字符串。
創(chuàng)新互聯(lián)建站專注于石嘴山企業(yè)網(wǎng)站建設(shè),自適應(yīng)網(wǎng)站建設(shè),電子商務(wù)商城網(wǎng)站建設(shè)。石嘴山網(wǎng)站建設(shè)公司,為石嘴山等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站,專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)
參考代碼如下:
#include?stdio.h
#includestring.h
#define?MAX_LEN?128
void?main()
{
int?i,length,ct=0,start?=?-1;
char?inputBuffer[MAX_LEN],*args[MAX_LEN];
strcpy(inputBuffer,"mv?a.c?b.c");
length=strlen(inputBuffer);
for?(i?=?0;?i?=?length;?i++)?{
switch?逗差橘(inputBuffer[i]){
case?'?':
case?'\t'?:???????????????/*?argument?separators?*/
if(start?!=?-1){
慶擾??????args[ct]?=?inputBuffer;????/*?set?up?pointer?*/
ct++;
}
inputBuffer[i]?=?'\0';?/*?add?a?null?char;?make?a?C?string?*/
start?=?-1;
break;
case?'\0':?????????????????/*?should?be?the?final?char?examined?*/
if?(start?!=?-1){
args[ct]?=?inputBuffer;
ct++;
}
inputBuffer[i]?=?'\0';
args[ct]?=?NULL;?/*?no?more?arguments?to?this?command?*/
break;
default?:?????????????/*?山團(tuán)some?other?character?*/
if?(start?==?-1)
start?=?i;
}
}
printf("分解之后的字符串為:\n");
for(i=0;ict;i++)
printf("%s?\n",args[i]);
}