//SString.h
//字符串的定长顺序存储方式,字符串将位于栈上,其本身为以'\0'结尾的一串字符数组
#ifndef _SSTRING_H_
#define _SSTRING_H_
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <stdbool.h>
#define STRINGLENGTH 20
typedef unsigned char UCHAR;
typedef UCHAR SString[STRINGLENGTH + 1]; //定义数组类型
void InitString(SString ss);
void StrAssign(SString ss, const char *string);
void StrCpy(SString des, const SString src);
int StrLen(const SString s);
void Show(const SString s);
bool StrEmpty(const SString ss);
int StrCmp(const SString s1, const SString s2);
void StrConcat(SString T, const SString s1, const SString s2); //将串s1 s2连接成一个串T
void SubString(const SString s, SString sub, int pos, int len); //在主串s的pos处取长度len个字符作为子串
int StrIndex(const SString s, const SString sub, int pos); //查找子串sub在主串s中的下标,从主串s的pos位置开始查找,未找到返回-1
void StrReplace(SString s, const SString sub, const SString T); //将主串s中的全部不重复子串sub全部替换为T
void StrInsert(SString s1, const SString s2, int pos); //将串s2插入串s1的位置pos处
void StrDelete(SString s1, int pos, int len); //在串s1的位置pos处删除长度为len的字符串
void StringClear(SString s);
#endif //_SSTRING_H_
//SString.c
#include "SString.h"
void InitString(SString ss)
{
ss[0] = '\0';
}
void StrAssign(SString ss, const char *string)
{
int i