c语言里面split函数 c语言split函数用法

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

#include stdio.h

创新互联成立与2013年,是专业互联网技术服务公司,拥有项目成都网站制作、成都做网站、外贸营销网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元娄星做网站,已为上家服务,为娄星各地企业和个人服务,联系电话:028-86922220

#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分割字符串。

//以下解法的前提是,先把所有环变成1.无环路,2.一个环没有扣住3个及以上的其他环

void main(){

int array[16] = {0};

//init, array[1] = xxx;根据输入初始化数组,如1-2,则,array[1] = 2,...

int HashArray[16] = {0};

int head, tail;

int head_tmp, tail_tmp;

getNextList(array, HashArray, head, tail);

while(getNextList(array, HashArray, head_tmp, tail_tmp))

{

array[tail] = head_tmp;

tail = tail_tmp;

}

//此时的array数组里面应该是一条链了

}

getNextList(int array[], int Hasharray, int  head, int  tail)

{

int head_tmp = 1;

while(Hasharray[head_tmp++] != 0);

if (head_tmp == 16)

return false;

else

{

head = tail = head_tmp - 1;

while(array[tail] != 0)

{

Hasharray[tail] = 1;

tail++;

}

Hasharray[tail] = 1;

return true;

}

}

C语言有没有把字符串拆分为数组的函数?

用strtok函数实现吧。

void split( char **arr, char *str, const char *del)//字符分割函数的简单定义和实现

{

char *s =NULL;

s=strtok(str,del);

while(s != NULL)

{

*arr++ = s;

s = strtok(NULL,del);

}

}

int main()

{

int i;

char *myArray[4];

char s[] = "张三$|男$|济南$|大专学历$|";

memset(myArray, 0x0, sizeof(myArray));

split(myArray, s, "$|");

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

{

printf("%s\n", myArray[i]);

}

return 0;

}


分享名称:c语言里面split函数 c语言split函数用法
文章链接:http://azwzsj.com/article/hhpoce.html