广工 串的基本操作(课程设计)的演示
//------------基本操作的算法描述---------------------------
//--------------------------------------------------------------------
Status StrAssign(HString &T,char *chars) // 赋值
{ //生成一个其值等于串常量chars的串T
int len,j,i,m;
char s[100];
m=0; i=0;
if(T.ch) free(T.ch); //释放T原有空间
if(chars[m]!='\'') { printf("输入不正确,请重新输入(串标识要用单引号括起输入)\n"); return ERROR; }
if(chars[m]=='\'')
m++; //m增1
while(chars[m]!='\'') //用while语句求chars的长度i和将串值赋给s[100]
s[i++]=chars[m++];
len=i; //串的长度
if(!len) { T.ch=NULL; T.length=0; }
else //chars的长度不为0
{
if(!(T.ch=(char *)malloc(len*sizeof(char))))
exit(OVERFLOW); //分配空间失败
for(j=0;j<len;j++)
T.ch[j]=s[j];
T.length=len;
}
return OK;
}//StrAssign