c语言子符串函数 c语言中字符串函数

c语言中 编程实现求子串函数#include stdio.h
#include stdlib.h
char *substr(const char *s,int n1,int n2)/*从s中提取下标为n1~n2的字符组成一个新字符串,然后返回这个新串的首地址*/
{
char *sp=malloc(sizeof(char)*(n2-n1 2));
int i,j=0;
for (i=n1; i=n2; i) {
sp[j]=s[i];
}
sp[j]=0;
return sp;
}
int main(void)
{
char s[80],*sub;
scanf("%s",s);/*输入原字符串s*/
sub=substr(s,0,5);/*提取s[0]~s[5]元素组成新子串,并保存到sub中*/
printf("substr:%s\n",sub);/*输出sub*/
free(sub);/*释放sub所占用的空间*/
return 0;
}
C语言 字符串函数首先要明白 , sizeof不是函数,而是操作符;strlen是函数 。
操作符sizeof用来判断对象、类型所占用的内存空间的字节数,strlen是计算一个字符串以字节计的长度 。如:sizeof(int)、sizeof(double)、sizeof(char)等是合法的 , 可以计算出int、double、char这些类型所占用的字节数分别是4、8、1,而用strlen则是非法的 。再如:若有char
a[20]="123";,那么,strlen(a)的结果是3,而sizeof(a)的结果是20;前者是字符串“123”的长度,后者是为数组a分配的内存空间 。还有:当计算一个指向字符串的指针时,sizeof得到的是指针本身的长度即固定为4(32位机),而strlen得到的是指针指向的字符串的长度 。如:char
a[20]="1234567",*p=a;,则,sizeof(p)=4,而strlen(p)=7 。似乎复杂了点 。记住一个原则就好判断:操作符sizeof用来计算系统为对象本身分配的空间(以字节计) , 函数strlen用来计算字符串的长度(以字节计) 。
c语言 定义一个函数 , 判断某字符串中是否包含一个子串int find(char* source, char* target)//source为源字符串,target为子字符串,如找到则返回在源串中的位置,如未找到则返回-1,如果要改为找到返回1,把return i改为return 1;
{
int i,j;
int s_len=strlen(source);
int t_len=strlen(target);
if(t_lens_len)
{
return -1;
}
for(i=0;i=s_len-t_len;i)
{
j=0;
int flag=1;
if(source[i]==target[j])
{
int k,p=i;
for(k=0;kt_len;k)
{
if(source[p]==target[j])
{
p;
j;
continue;
}
else
{
flag=0;
break;
}
}
}
else
{
continue;
}
if(flag==1)
{
return i;
}
}
return -1;
}
急急C语言查找子字符串char* search(char* str, char ch)
{
char *pmax, *p, *p1;
intmax;
pmax = NULL;
max = 0;
p = str;
while(1)
{
while(*p != NULL*p !=ch) p;
if(*p== ch)
{
for(p1=p; *p==ch; p);
if(p-p1max)
{
max = p-p1;
pmax = p1;
}
}
}
return pmax;
}
【c语言子符串函数 c语言中字符串函数】c语言子符串函数的介绍就聊到这里吧 , 感谢你花时间阅读本站内容,更多关于c语言中字符串函数、c语言子符串函数的信息别忘了在本站进行查找喔 。

    推荐阅读