实现顺序串中的各种基本运算,并在此基础上设计一个程序完成如下功能。
- 建立串s=”abcdefghefghijklmn”和串s1=”xyz”
- 输出串s
- 输出串s的长度
- 在串s的第9个字符位置插入串次输入串s1而产生串s2
- 输出串s2
- 删除串s的第2个字符开始的5个字符而产生串s2
- 输出串s2
- 将串s的第2个字符开始的5个字符替换成s1而产生串s2
- 输出串s2
- 提取串s的第2个字符开始的10个字符而产生串s3
- 输出串s3
- 将串s1和串s2连接起来而产生串s4
- 输出串s4
程序如下
sqstring.cpp
#include <stdio.h>
#define MaxSize 100
typedef struct
{
char data[MaxSize];
int length;
} SqString;
void StrAssign(SqString &s,char cstr[])
{
int i;
for (i=0;cstr[i]!='\0';i++)
s.data[i]=cstr[i];
s.length=i;
}
void DestroyStr(SqString &s)
{
}
void StrCopy(SqString &s,SqString t)
{
int i;
for (i=0;i<t.length;i++)
s.data[i]=t.data[i];
s.length=t.length;
}
bool StrEqual(SqString s,SqString t)
{
bool same=true;
int i;
if (s.length!=t.length)
same=false;
else
for (i=0;i<s.length;i++)
if (s.data[i]!=t.data[i])
{
same=false;
break;
}
return same;
}
int StrLength(SqString s)
{