else i s->str=(char )malloc((len+1)*sizeof(char)); ∥分配空间 if (s->str)return ERROR: s->str[O.en=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(sl)+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(∴sl) return Error; else{∥/连接两个串的内容 s1->str[0. Length(s)-1=s str(0. Length(s)-1)l; sI->str[Length(s).len+1=s2str[O. Length(s2); 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*Sl 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[010; S1 >length=0; return ERROR sl->str=(char )malloc((len+)*sizeof(char)); if (slstr)return ERROR; s1->str[0len-1F=S2 strstart-1 start+len-2 sl-> strlen]=”103; 1->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; }