else i s->str=(char )malloc((len+1)*sizeof(char)); ∥分配空间 if (s->str) return ERRORS s->str(Olen =string constant(Olen 对应的字符赋值 s->length=len 赋予字符串长度 return oK 请单鼠标左键换页!
else { s->str=(char*)malloc((len+1)*sizeof(char)); //分配空间 if (!s->str) return ERROR; s->str[0..len]=string_constant[0..len]; //对应的字符赋值 s->length=len; //赋予字符串长度 } return OK; }
(2)判断串是否为空 int StringEmpty(sTRING s if (s length) return TRUE; else return false: (3)求串的长度 int Length(STRING S) return s length; 请单鼠标左键换页!
(2)判断串是否为空 int StringEmpty(STRING s) { if (!s.length) return TRUE; else return FALSE; } (3)求串的长度 int Length(STRING s) { return s.length; }
(4)串连接 int Concat(STRING *Sl, STRING S2) STRING S String Assign(&s, s1->str); 将s1原来的内容保留在s中 len=Length(s1)+Length(s2); ∥计算sl和s2的长度之和 free(sl->str) ∥释放s1原来占据的空间 sl->str(char)malloc((len+1)*sizeof(char)); ∥重新为s1分配空间 请单赤鼠标左键换页!
(4)串连接 int Concat(STRING *s1,STRING s2) { STRING s; StringAssign(&s,s1->str); //将s1原来的内容保留在s中 len=Length(s1)+Length(s2); //计算s1和s2的长度之和 free(s1->str); //释放s1原来占据的空间 s1->str=(char*)malloc((len+1)*sizeof(char)); //重新为s1分配空间
if (s1)return ERROR; else{∥/连接两个串的内容 sl->str[0. Length(s) -1=s str[0. Length(s)-1)l; sl->strEngth(s). len+1=s2 str(O. Length (S2)1; SI->length=len fre6-str);释放为临时串s分配的空间 return OK; 请单鼠标左键换页!
if (!s1) return ERROR; else { //连接两个串的内容 s1->str[0..Length(s)-1]=s.str[0..Length(s)-1)]; s1->str[Length(s)..len+1]=s2.str[0..Length(s2)]; s1->length=len; free(s->str); //释放为临时串s分配的空间 return OK; } }
(5)求子串 int SubStr(STRING*sI, STRING S2,int start, int len) len2= ength(.2);/计算2的长度 if(start<1startlen2len2<=0len>len2-start+1)t )断 start和len的合理性 sl->str=(char*)malloc(sizoef(char)); sl->str[0=10;S1 >length=0; return ERROR sl->str=(char*)malloc((len+1)*sizeof(char)); if (slstr) return ERROR; sl->str[O.en-1=s2.strIstart-lstart+len-2 sl-> strlen]=”103; sI->length=len return OK; 请单鼠标左键换页!
(5)求子串 int SubStr(STRING *s1,STRING s2,int start,int len) { len2=Length(s2); //计算s2的长度 if (start<1||start>len2||len2<=0||len>len2-start+1) { //判断start和len的合理性 s1->str=(char*)malloc(sizoef(char));s1->str[0]=’\0’;s1- >length=0;return ERROR;} s1->str=(char*)malloc((len+1)*sizeof(char)); if (!s1.str) return ERROR; s1->str[0..len-1]=s2.str[start-1..start+len -2]; s1->str[len]=’\0’; s1->length=len; return OK; }