#pragma hdrstop
#include <stdio.h>
#pragma argsused
int split_str ( char *p, char token, char *fields[] );
int main ( int argc, char *argv[] )
...{
char *p = "abc;def;12345;78;;9101112";
int len = 0;
int i = 0;
char *fields[1024]; // 最大1024 个字段
len = split_str ( p, ';', fields );
printf ( "fields num = %d ", len );
for ( i = 0; i < len; i++ )
...{
printf ( "%s ", fields[i] );
}
getchar ();
return 0;
}
// -----------------------------------------------------------------------------
// * 将字符串p,以token字符进行分隔,结果保存到fields 数组中
// -----------------------------------------------------------------------------
int split_str ( char *p, char token, char *fields[] )
...{
int i = 0;
int len = 0;
int pos = 0;
int num = 0;
len = strlen( p );
for ( i = 0; i < len; i++ )
...{
if ( p[i] == token )
...{
p[i] = 0;
fields[num] = p + pos;
pos = i + 1;
num++;
}
}
fields[num] = p + pos;
return ( num + 1 );
}
本文介绍了一个使用C语言实现的简单字符串拆分函数。该函数能够接收一个字符串和一个分隔符作为输入,并返回一个由分隔符拆分后的字符串数组。通过实际代码示例展示了如何定义和调用此函数。
369

被折叠的 条评论
为什么被折叠?



