📄 string1.h
字号:
#include "iostream.h"
#include "stdio.h"
#include "malloc.h"
#include "String.h"
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
#define OVERFLOW -2
#define NULL 0
typedef int Status;
typedef struct {
char *ch; // 若是非空串,则按串实用长度分配存储区,否则 ch 为NULL
int length; // 串长度
} HString;
Status StringAssign(HString &T,char *chars)
{
int i;
i=strlen(chars);
if(!(T.ch =new char[i])) return OVERFLOW;
strcpy(T.ch,chars);
T.length =i;
return OK;
}
Status Concat(HString &T, HString S1, HString S2)
{
// 用T返回由S1和S2联接而成的新串
if (!(T.ch =new char[S1.length+S2.length])) return OVERFLOW;
T.ch[0]='\0';
strcat(T.ch,S1.ch);
strcat(T.ch,S2.ch);
T.length=S1.length+S2.length;
return OK;
} // Concat
int Strlen(HString S)
{
return S.length;
}
int StrCompare(HString S,HString T)
{
return strcmp(S.ch,T.ch);
}
Status SubString(HString &Sub,HString S,int pos,int len)
{
int i,k;
if(pos<1 || pos>S.length || len<0 || len>S.length-pos+1) return ERROR;
if(!(Sub.ch =new char[len])) return OVERFLOW;
for(i=pos-1,k=0;i<=pos+len-2;i++,k++) Sub.ch[k]=S.ch[i];
Sub.ch[k]='\0';
Sub.length=len;
return OK;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -