- 论坛徽章:
- 0
|
我用strtok写的小demo,呵呵,有什么错误希望指出
int iStrtok(const char *sDes,const char *sDelimiter,char *sOutput)
{
int i = 0;
char *pCurrent;
char sTemp[128];
pCurrent = NULL;
memset(sTemp,0x00,sizeof(sTemp));
if(sDes == NULL || strlen(sDes) == 0 || sDelimiter == NULL || strlen(sDelimiter) == 0)
{
printf("输入参数为空,Des[%s],Delimiter[%s]\n",sDes,sDelimiter);
return -1;
}
strncpy(sTemp,sDes,sizeof(sTemp));
pCurrent = strtok(sTemp,sDelimiter);
memcpy(sOutput,pCurrent,strlen(pCurrent));
printf("第%d次分割后得到的数据:[%s]\n",++i,pCurrent);
while(pCurrent = strtok(NULL,sDelimiter))
{
memcpy(sOutput + strlen(sOutput),pCurrent,sizeof(pCurrent));
printf("第%d次分割后得到的数据:[%s]\n",i++,pCurrent);
}
sOutput[strlen(sOutput)] = '\0';
/*printf("最终得到的数据:[%s]\n",sOutput);*/
return 0;
} |
|