高级c语言切割函数 c语言 切片( 二 )


char
*
split
=
",*";
//用逗号(,)和星号(*)对字符串进行分割
这样输出结果将如下所示:
a
b
c
d
e
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; icnt; i++)
puts(dst[i]);
return 0;
}
关于c语言字符串中切割函数strtok的用法strtok()函数并不像你想高级c语言切割函数的那样可以一次切割字串 。需要多次循环高级c语言切割函数,第二次时需要用 p = strtok(NULL, " ");这样高级c语言切割函数的 形式 。
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语言怎么把字符串按行分割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 _tmain(int argc, _TCHAR* argv[])
{
char str[] = "123,456\n789,321";
char dst[10][80];
int cnt = split(dst, str, "\n");
for (int i = 0; icnt; i++)
puts(dst[i]);
return 0;
}
主要是字符串分割函数strtok的使用
【高级c语言切割函数 c语言 切片】高级c语言切割函数的介绍就聊到这里吧 , 感谢你花时间阅读本站内容,更多关于c语言 切片、高级c语言切割函数的信息别忘了在本站进行查找喔 。

推荐阅读