从网址字符串取得参数值的函数(C语言)

来源:互联网 发布:windows loader v2.4 编辑:程序博客网 时间:2024/06/05 11:35
 函数实现

 int getParamVal(const char *str,const char *parmname,char *retbuf,int bufsize)
{
 char pname[50]={0};
 int  ilen=0;
 sprintf(pname,"%s=",parmname);
 char *p=strstr(str,pname);
 if(p!=NULL)
 {
  p+=strlen(pname);
  ilen=strlen(p);
  char *p2=strchr(p,'&');
  if(p2!=NULL)
  {
   ilen=p2-p;
  }
  if(ilen>bufsize-1)
  {
   ilen=bufsize-1;
  } 
  memcpy(retbuf,p,ilen);
  retbuf[ilen]=0;
 }
 return ilen;
}

 

调用例子

 char *p="http://www.google.com.hk/search?hl=zh-CN&q=linux&lr=";
 char buf[50]={0};
 
 int it=getParamVal(p,"q",buf,sizeof(buf));
 if(it>0)
 {
  printf("parmval=%s\n",buf);
 }else{
  printf("no found!\n");
 }

原创粉丝点击