eise S->str(char )malloc((len+1)*sizeof(char)); ∥1分配空间 if ( s->str) return ERROR s->str(.len =string constant(O.len 对应的字符赋值 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 String Empty(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 *SI, STRING $2) STRING S StringAssign(&s, sl->str); /将s1原来的内容保留在s中 len=Length(s1)+Length(s2); ∥计算s1和s2的长度之和 free(s1->str) ∥释放1原来占据的空间 s1->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{∥连接两个串的内容 sI->str[0. Length(s)-1=sstr[O. Length(s)-D) sl->strEngth(s).Ien+1=s2str(0. Length(s2); sI->length=len; free(s->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= Length(s2);∥计算s的长度 if (start<1startlen2 len2<=0len>len2-start+1)i 判断star和len的合理性 sl->str=(char*)malloc(sizoef(char)); s1->str[0=0;SI >length=0; return ERROR 1->str=(char")malloc((en+1)*sizeof(char)); if (sl str)return ERROR; sl->str[O.len-1=S2. strIstart-1start+len-2 sl->strlen=2\0 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; }