⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 string1.h

📁 这是一个字符串替换算法
💻 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 + -