C语言取子串函数实例 取子串函数的使用方法

急急C语言查找子字符串

char* search(char* str, char ch)

创新互联公司主营农安网站建设的网络公司,主营网站建设方案,app开发定制,农安h5微信平台小程序开发搭建,农安网站营销推广欢迎农安等地区企业咨询

{

char *pmax, *p, *p1;

int max;

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-p1 max)

{

max = p-p1;

pmax = p1;

}

}

}

return pmax;

}

c语言中,有一个字符数组,怎么样取出一个子字符串,知道开始坐标和结束坐标

函数名: strncpy

功 能: 串拷贝

用 法: char *strncpy(char *destin, char *source, int maxlen);

程序例:

#include stdio.h

#include string.h

int main(void)

{

char string[10];

char *str1 = "abcdefghi";

strncpy(string, str1, 3);

string[3] = '\0';

printf("%s\n", string);

return 0;

}

如果你不是想从第1位开始截取,比如你想从第5位截取,则改为

strncpy(string, str1+5, 3);

后面的3表示长度,就是从第5位后面的3个字符

补充回答:

strncpy(string, str1+3, 2); /*打印出来第4、5位*/

c语言求一个字符串里有几个子串

#include

#include

int substring(char *str,char *str1);//函数原型

int main(void)

{

char str[64]={0};

char str1[16]={0};

int i,j,x;

printf("please put the string\n");

gets(str);//输入的原字符串

puts(str);

printf("\n");

printf("please put the string1 \n");

gets(str1);//输入的字符串中的子串

puts(str1);

printf("\n");

i=strlen(str);//原字符串长度

j=strlen(str1);//子串长度

printf("the string lenth is %d\n",i);

printf("the string lenth is %d\n",j);

x=substring(str,str1);

printf("then anwser is %d\n",x);

return 0;

}

int substring(char *str,char *str1)

{

int x=0;

char *p;//任意附个初始值

do{

p=strstr(str,str1);//1.p指针指向strstr的返回值。3.再一次循环到 这里函数的参数发生变化,p重新指向strstr返回值,如此循环。

if(p != NULL) {

str=p+1;//2.str同样指向strstr返回值p的下一个地址。

x=x+1;

}

}while(p!=NULL);

return x;

}

另一种方法,不用库函数来实现,来自他人。。。

int substring1(char *str,char * str1,int n,int m)

{

int i,j=0,k;

int x=0;

for(i=0;i=n-m;i++) {

k = i;

while (1) {

if (str[k] != str1[j] ) {

j=0;

break;

} else if (str1[j+1] == '\0') {

x++;

j=0;

break;

} else {

k++;

j++;

}

}

}

return x;

}

C程序编写一个字符串求子串(急)

#include stdio.h

#include stdlib.h

char *substr(const char *s,int n1,int n2)/*从s中提取下标为n1~n2的字符组成一个新字符串,然后返回这个新串的首地址*/

{

char *sp;

sp=(char *)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语言取子串函数实例 取子串函数的使用方法
标题链接:http://ybzwz.com/article/dospcdd.html