windows sockets函数下的一个关联全返回的解决方法
上一篇 / 下一篇 2010-02-08 13:43:54 / 个人分类:《性能测试进阶指南》专栏
在windows sockets协议中我们会使用lrs_save_searched_sting()函数来关联符合一定左右边界的内容但它一个缺点,就是无法获得多个符合边界的返回并保存在参数数组中,在该函数中不能将序号关键字设置为ALL。我们可以通过自己编写一个函数来解决这个问题,函数代码如下。
aqN*W:e;{Y'vGn0LP.i%WU:v _0splitchartoparamarr(char *x,char *y,char *paramarrname)51Testing软件测试网 }!frT9B'R
~ Cvs Eqq0//该函数的作用是将输入的字符串x,通过y符号分割,保存到paramarrname参数数组中
W4XY!rfet,i2l051Testing软件测试网)JTV7`+h7_$K{
5i;~6i{`0+BI%U)L+nz0 extern char * strtok(char * string, const char * delimiters );51Testing软件测试网:T0S-p(KZ{3_@.T
n^k5R]qRX0f2n3f0char charstring[1000],separators[100],paramname[110];51Testing软件测试网h%k/OEv8Z Y|b
|*]r.}6id0//定义输入字符串,字符串长度为1000,分隔符长度为100,参数元素名长度11051Testing软件测试网+b3fO$E X#Lw%^H:aJ(b
51Testing软件测试网3~ P~?;J4schar * token;51Testing软件测试网*{IwV]8i7f
Yk tu:}c9V"K]0 int i=0;//初始化计数器51Testing软件测试网O v$~AV
51Testing软件测试网*pKR'XGYi&}char paramcount[10],paramarrcount[110];
@ ^{1}VW2ry;| @08Y ox*G m0//定义生成参数数组的编号及参数名
l/w`2x'H?q1pi2O051Testing软件测试网zPY'N4hG;sEL+~Uc-lon0
[ Ev%Dr:@(K#~ \3Eyj0 strcpy(charstring,x);
I`:xg%lx;K051Testing软件测试网-nU6Q!Z4RS,Dstrcpy(separators,y);
z"z&qq]1s0U1i+qh[EEKqT0 51Testing软件测试网'Wt5|L(\
x1A2} I7D2Z`H Cr0token = (char *)strtok(charstring, separators);51Testing软件测试网;mQ_#LGY
51Testing软件测试网'Uu"a7[OD// Get the first token
|Frv p_/y;j]0]7p%IOId } Z0
%D:w,kDqU051Testing软件测试网u @7_S2Z_? ^f5rEif (!token) {51Testing软件测试网5nZ-NN i9fM
51Testing软件测试网Hw,D'RXlr_output_message ("No tokens found in string!");51Testing软件测试网!]x:U*ou mg
/{4ARI5D J0 return( -1 );51Testing软件测试网4{`"WJ*O&P~ B
51Testing软件测试网4C H8bQ!L@}51Testing软件测试网&K.Ag3|Y(z6\3l
51Testing软件测试网-z u,N] oFl5HG,~ Y2Q:}vf0
Y2HL]8z0while (token != NULL ) { // While valid tokens are returned
2N"k"MZ$e051Testing软件测试网(t TmlU'{%v#b*JhW.` ^Gm~w]0
G8SxokrWUP0//lr_output_message ("%s", token );//输入分割值51Testing软件测试网~G*ka.gSTF V
e?PF0W NN g3e0 i++;51Testing软件测试网V!]3of0Jkh5D
51Testing软件测试网+w S(WD:Sd;t#fsprintf(paramname,"%s_%d",paramarrname,i);
*U4y D4Rr$s.x,us0B9l051Testing软件测试网W!K4N4O:k{;|[fs//lr_output_message ("%s", paramname );//输出参数名51Testing软件测试网9Ti&^*uphc