c语言里的分割函数 c++分割

C语言中字符切割函数split的实现

#include stdio.h

创新互联长期为1000多家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为中江企业提供专业的成都网站建设、网站设计,中江网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。

#include string.h

// 将str字符以spl分割,存于dst中,并返回子字符串数量

int split(char dst[][80], char* str, const char* spl)

{

int n = 0;

char *result = NULL;

result = strtok(str, spl);

while( result != NULL )

{

strcpy(dst[n++], result);

result = strtok(NULL, spl);

}

return n;

}

int main()

{

char str[] = "what is you name?";

char dst[10][80];

int cnt = split(dst, str, " ");

for (int i = 0; i  cnt; i++)

puts(dst[i]);

return 0;

}

c语言自己编写一个split字符串分割函数

这个是用c++写的不过和c的原理也差不多我运行过了,有什么问题再问吧,c不知道能否运行,不过现在c/c++程序设计试验系统通常都有嵌套c++,你打开c界面时单击vc6.0创建一个项目运行就可以了。

#include iostream

using namespace std;

char** split(char p[],char c,int k)

{

int i,m,j;

char **q;

q=(char**)new char*[k];

for(i=0;ik;i++)

q[i]=(char*)new char*[20];

i=0;

j=0;

m=0;

while(p[i])

{

if(p[i]!=',')

{

q[j][m++]=p[i++];

}

else

{

q[j][m]='\0';

j++;

m=0;

i++;

}

}

q[k-1][m]='\0';

for(i=0;i4;i++)

{

coutq[i];

coutendl;

}

return q;

}

void main()

{ int k;

char p[]="ab,cde,efgh,ghi32";

char c=',';

int i=0,j=0,m=0;

while(p[i])

{

if(p[i]==',')

j++;

i++;

}

j=j+1;//接受到底有多少个单词在分割后通过逗号去判断

k=j;

char**q=split(p,c,k);

printf("\n");

for(i=0;i4;i++)

{

coutq[i];

coutendl;

}

}

关于c语言字符串中切割函数strtok的用法

strtok()函数并不像你想的那样可以一次切割字串。需要多次循环,第二次时需要用 p = strtok(NULL, " "); 这样的 形式。

void main()

{ char test1[] = "Hello C World";

char *p;

p = strtok(test1, " ");

while(p)

{

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

p = strtok(NULL, " ");

}

return 0;

}

运行结果:

Hello

C

World

整数分割 C语言用函数 例如 输入1990 输出1 9 9 0 求大神指教 ~~

#includestdio.h

#includestring.h

int main()

{

void insert(char str[]);

char[80];

printf("输入一个数:");

scanf("%s",str);

insert(str);

return 0;

}

void insert(char str[])

{

int i;

for(i=strlen(str);i0;i--)

{

str[2*i]=str[i];

str[2*i-1]=' ';

}

printf("输出:\n%s\n",str);

}

C语言函数字符串截取分割

C标准库中提供了一个字符串分割函数strtok();

实现代码如下:

#include stdio.h

#include string.h

#define MAXSIZE 1024

int main(int argc, char * argv[])

{

char dates[MAXSIZE] = "$GPGGA,045950.00,A,3958.46258,N,11620.55662,E,0.115,,070511,,,A*76 ";

char *delim = ",";

char *p;

printf("%s  ",strtok(dates,delim));

while(p = strtok(NULL,delim))

{

printf("%s  ",p);

}

printf("\n");

return 0;

}

运行结果截图如下:


本文名称:c语言里的分割函数 c++分割
网页网址:http://ybzwz.com/article/hjssch.html