split函数在c语言,c++中split函数

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语言中字符切割函数split的实现

#include stdio.h

#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/C++中的Split函数解释

C/C++中的Split函数是strtok()其函数原型如下:

char * strtok (char * str, const char * delimiters);

函数说明

strtok()用来将字符串分割成一个个片段。参数str指向欲分割的字符串,参数delimiters则为分割字符串,当strtok()在参数str的字符串中发现到参数delimiters的分割字符时则会将该字符改为'\0'字符。在第一次调用时,strtok()必需给予参数str字符串,往后的调用则将参数str设置成NULL。每次调用成功则返回下一个分割后的字符串指针。

返回值

返回下一个分割后的字符串指针,如果已无从分割则返回NULL。

示例-1

/* strtok example */

#include stdio.h

#include string.h

int main ()

{

char str[] ="a,b,c,d*e";

const char * split = ",";

char * p;

p = strtok (str,split);

while(p!=NULL) {

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

p = strtok(NULL,split);

}

getchar();

return 0;

}

本例中,实现对字符串'a,b,c,d*e"用逗号(,)来作界定符对字符串进行分割。

输出结果将如下所示:

a

b

c

d*e

因为delimiters支持多个分割符, 我们将本示例中的语句行

const char * split = ",";

改成 const char * split = ",*"; //用逗号(,)和星号(*)对字符串进行分割

这样输出结果将如下所示:

a

b

c

d

e

关于c++中string的split函数的一些问题

这个函数在纯C++环境中的string类中是不存在的,只有在C++/CLR环境中才有这个函数的。如果想在C语言中使用切割字符串函数,可以使用一个库函数char *strtok(char *s, const char *delim)来实现,分解字符串为一组字符串。s为要分解的字符串,delim为分隔符字符串。另外,在C语言中要包含#include string.h头文件,而在C++语言中要包含#include string头文件,这样才可以使用这个函数。 还有在最新版的linux环境下,这个函数已经不再使用,由速度更快的strsep()函数来代替它。

C语言中字符切割函数split的实现是什么?

c语言中 有切割字符串的函数啊!\x0d\x0a\x0d\x0astrtok函数(const char *str, const char *ch)\x0d\x0a\x0d\x0a第一个是字符串,第二个是以那个字符做切割。\x0d\x0a\x0d\x0a例子:\x0d\x0a#include \x0d\x0a#include \x0d\x0aint main(void)\x0d\x0a{\x0d\x0achar s[] = "123-sldkf-123ls-343434-dfjdlkfj-dflcmvn";\x0d\x0achar *delim = "-";\x0d\x0achar *p;\x0d\x0aprintf("%s ", strtok(s, delim));\x0d\x0awhile((p = strtok(NULL, delim))\x0d\x0aprintf("%s ", p);\x0d\x0aprintf("\n");\x0d\x0areturn 0;\x0d\x0a} \x0d\x0a\x0d\x0achar s[] = "dlkjf-sdlkfjsdf\lsdkljfl'sldkjf\sdkfjsdlf\lskdjfls";\x0d\x0a如果想用-和\两个符号切割的话\x0d\x0achar *delim = "-\";\x0d\x0a这样就可以了

C语言中有没有类似java的split方法的函数

有的,在string库文件中有char *strtok( char *str1, const char *str2 );应用方法如下,

#includestdio.h

#include string.h

//程序功能用""作为分隔符,结果输出“今天是”、“2015年”、“6月”、“8日”、“星期一”

int main()

{

char str[] = "今天是2015年6月8日星期一";

char str0[] = "";

char *result = NULL;

result = strtok( str, str0);

while( result != NULL ) {

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

result = strtok( NULL, str0 );

}

return 0;

}

char *strtok( char *str1, const char *str2 );函数返回字符串str1中紧靠着“分隔符str2”的部分的指针,字符串str2作为标记分隔符。如果标记分隔符没有找到,函数返回NULL。


文章名称:split函数在c语言,c++中split函数
当前地址:http://cdiso.cn/article/hdjigo.html

其他资讯