anushreeg
December 18th, 2001, 02:38 AM
this is my function
char* clsRouterStub::CreateReqMsg(char* strParamListss,char strDelimiterss[])
{
char *strReturn = new char[100];
char *token;
int n;
char strParamList[]="a,bb,ccc,dddd";
char strDelimiter[]=",";
token = strtok( strParamListss, strDelimiter );
while( token != NULL )
{
if (token != "")
{
if (n>0)
n += sprintf(strReturn + n, "\317%s", token);
else
n = sprintf(strReturn , "%s", token);
}
token = strtok( NULL, strDelimiter );
}
return strReturn;
}
when i try to call it in following way then it doesn't take the correct value
Invocation :
char *strShakeHandReq = objRouterStub.CreateReqMsg("a,b,ccc,ddd",",");
while if i pass char a[20] = "a,b,ccc,ddd";
char b[10] = ",";
char *strShakeHandReq = objRouterStub.CreateReqMsg(a,b);
then it works why?
char* clsRouterStub::CreateReqMsg(char* strParamListss,char strDelimiterss[])
{
char *strReturn = new char[100];
char *token;
int n;
char strParamList[]="a,bb,ccc,dddd";
char strDelimiter[]=",";
token = strtok( strParamListss, strDelimiter );
while( token != NULL )
{
if (token != "")
{
if (n>0)
n += sprintf(strReturn + n, "\317%s", token);
else
n = sprintf(strReturn , "%s", token);
}
token = strtok( NULL, strDelimiter );
}
return strReturn;
}
when i try to call it in following way then it doesn't take the correct value
Invocation :
char *strShakeHandReq = objRouterStub.CreateReqMsg("a,b,ccc,ddd",",");
while if i pass char a[20] = "a,b,ccc,ddd";
char b[10] = ",";
char *strShakeHandReq = objRouterStub.CreateReqMsg(a,b);
then it works why?