字符串基本操作

原创 2013年12月02日 16:28:38
#include <stdlib.h>

unsigned int strlenth(char *s)  /* 获取字符串长度 */
{
	unsigned int lenth = 0;
if(s!=NULL)
{
	while(*s!='\0')/* 代码在这里实现 */
	{
		s++;
		lenth++;
	}
}
return lenth;
}

void strcopy(char **target, char *source)  /* 字符串拷贝 */
{
	/* 代码在这里实现 */
	*target=(char*)malloc(strlenth(source)+1);
		char*dest=*target;
		while((*dest++=*source++)!='\0');	
}

int strcompare(char *s, char *t)  /* 字符串比较,s>t,则返回1;s=t,则返回0;s<t,则返回-1 */
{
	/* 代码在这里实现 */
	if(s!=NULL&&t!=NULL)
	{
		while(*s!='\0'&&*t!='\0')
		{
			if(*s>*t)
				return 1;
			else if(*s<*t)
				return -1;
			else
			{
				s++;
				t++;
			}
		}
		if(*s=='\0'&&*t!='\0')
			return -1;
		else if(*s!='\0'&&*t=='\0')
			return 1;
		else
			return 0;
	}

	return 0;
}

void strcombine(char **x, char *s, char *t)  /* 字符串连接,将字符串t接到s后面,x为连接后的新串 */
{
	/* 代码在这里实现 */
	if(s==NULL||t==NULL)
		return;
	 
	int len1=strlenth(s);
	int len2=strlenth(t);
		*x=(char*)malloc(len1+len2+1);
		char*dest=*x;
		//*x=*dest;
		while(len1--)
			*dest++=*s++;
		while(len2--)
			*dest++=*t++;
		*dest='\0';
		
	
}

void strcatch(char *s, unsigned int index, unsigned int lenth, char **t)  /* 字符串截取,从第index个字符开始,截取lenth长度的字符串,并输出到字符串t */
{
	/* 代码在这里实现 */
	int ll=strlenth(s);
	if(s==NULL||index<0||(index>=ll)||lenth<=0)
		return;
	
	if(index+lenth<=ll)
	{
		*t=(char*)malloc(lenth+1);
		char *dest=*t;
	while(lenth--)
	{
		*dest++=*(s+index);
		s++;
	}
*dest='\0';
	}
}


bool strsubstr(char *s, char *sub)  /* 字符串子串查找,如果子串sub在s中存在,则返回1,否则返回0 */
{
	bool result = 0;

	/* 代码在这里实现 */

	if(s!=NULL&&sub!=NULL)
	{
		
		char*q=s;
		int len=strlenth(sub);
		while(*s++!='\0')
		{
			
			char*p=sub;
			int i;
			for( i=0;i<len;i++)
			{
				
				if((*q!='\0')&&(*q==*p))
				{
					q++;
					p++;
				}
				else 
				{
					q=s;
					break;}
			}
			if(i==len)
			{
				result=true;break;
			}	
			
		}
	}

	return result;
}

相关文章推荐

【JavaSE】day01_ API文档 、 字符串基本操作

【JavaSE】day01_ API文档 、 字符串基本操作 --20150820 1.String及其常用API 1)java中String对象为不可变对象,一旦在内存中创建,内容...

字符串基本操作及时间

  • 2010年11月15日 00:09
  • 2KB
  • 下载

字符串的基本操作

  • 2015年01月01日 18:20
  • 8KB
  • 下载

编程能力提高-----C语言字符串的基本操作

C语言的字符串,是以'\0'结尾的字符串。在C语言中没有字符串类型,通过字符数组来模拟字符串。字符串的内存分配,可以在堆区、栈区、全局区。下面从最基本的定义讲起: 1、字符数组的定义与初始化//初始化...

Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结

创建列表 sample_list = ['a',1,('a','b')] Python 列表操作 sample_list = ['a','b',0,1,3] 得到列表中的某一个值 v...

不可变字符串对象的创建及其基本操作

C语言字符串 字符串必须用双引号包含 字符串中的每个字符占一个字节,ASCII C语言字符串的末尾有一个隐藏的’\0’ 打印C语言的字符串用 %s 占位符,传递字符串的首地址即可 OC字符串对象(NS...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:字符串基本操作
举报原因:
原因补充:

(最多只允许输入30个字)