- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
#includestdio.h
#includemalloc.h
#includestring.h
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define NULL 0
#define SIZE 100
typedef struct
{ char *ch;
int length;
}HString;
int StrAssign(HString *T,char *chars)//赋值
{ int i;
for(i=0;chars[i]!=\0;i++);
if(!i) {T-ch=NULL;T-length=0;}
else
{T-ch=(char *)malloc(i*sizeof(char));
if(!T-ch) return ERROR;
for(i=0;chars[i]!=\0;i++)
T-ch[i]=chars[i];
T-length=i;}
printf(\n);
return OK;
}
int ClearString(HString *T)//清空
{ if(!T-ch) return ERROR;
T-length=0;
return OK;
}
int StrEmpty(HString S)//判断是否为空
{ if(!S.ch) return ERROR;
if(S.length) return FALSE;
else return TRUE;
}
int StrLength(HString S)//求串长度
{ if(!S.ch) return ERROR;
printf(字符串的长度=%d\n,S.length);
return OK;
}
int OutPut(HString S)//串的输出
{ int i;
if(!S.ch) return ERROR;
for(i=0;i=S.length-1;i++)
printf(%c,S.ch[i]);
printf(\n\n);
return OK;
}
int StrCopy(HString *S2,HString S1)//串的拷贝
{ int i;
if(!S1.ch) return ERROR;
S2-ch=(char *)malloc(S1.length*sizeof(char));
if(!S2-ch) return ERROR;
S2-length=S1.length;
for(i=0;i=S1.length-1;i++)
S2-ch[i]=S1.ch[i];
return OK;
}
int StrCompare(HString S1,HString S2)//比较串的大小
{ int i;
if(!S1.ch) return ERROR;
if(!S2.ch) return ERROR;
for(i=0;i=S1.length-1S2.length-1;i++)
if(S1.ch[i]!=S2.ch[i]) return S1.ch[i]-S2.ch[i];
return S1.length-S2.length;
}
int Concat(HString *T,HString S1,HString S2)//串的连接
{ int i;
if(!S1.ch) exit(ERROR);
if(!S2.ch) exit(ERROR);
T-ch=(char*)malloc((S1.length+S2.length)*sizeof(char));
if(!T-ch) exit(ERROR);
for(i=0;i=S1.length-1;i++) T-ch[i]=S1.ch[i];
for(i=S1.length;i=S1.length+S2.length-1;i++)
T-ch[i]=S2.ch[i-S1.length];
T-length=S1.length+S2.length;
return OK;
}
int SubString(HString *Sub,HString T,int pos,int len)//定位输出
{ int i;
if(!T.ch) return ERROR;
if(pos1||posT.length||len0||lenT.length-pos+1) return ERROR;
if(!len) {Sub-ch=NULL; Sub-length=0;}
else {
Sub-ch=(char *)malloc(len*
您可能关注的文档
- linux项目实战.doc
- 逻辑学练习题(6).doc
- 8.4 简易不简单:认识枚举.doc
- 习题四函数宏定义(4).doc
- 七年级课外阅读推荐书目.doc
- 实验项目1 第2部分 (选做)Java语法应用.doc
- 2011.9月二级C精简改进版.doc
- 2010校招C++答案.doc
- 关节活动范围评定[1].doc
- 急用资料年级初三.doc
- 物理(云南卷)(考试版A4) .docx
- 广州花都区2024-2025学年牛津深圳版七年级英语下第三次月考模拟练习题(含答案解析).docx
- 广州花都区2024-2025学年牛津深圳版八年级英语下第三次月考模拟练习卷(含答案解析).docx
- 物理(云南卷)(考试版A4).docx
- 广州天河区2024-2025学年牛津深圳版八年级英语下第三次月考模拟练习题(含答案解析).docx
- 2024-2025学年吉林省长春市第七十二中学九年级(下)月考语文试卷(3月份).docx
- 坐标测量机试题及答案.docx
- 地形数字测绘试题及答案.docx
- 地铁服务试题库及答案.docx
- 花店与茶馆合作合同.docx
文档评论(0)