int GetDomain(char *url,char *domain)
{
char tmp[MAX_PATH]={0};
if(memicmp("http://",url,7)==0)
{
strcpy(tmp,&url[7]);
}else
{
return 0;
}
strcpy(domain,strtok(tmp,"/"));
return strlen(domain);
}
为什么这个小函数连续调用N次后就会崩溃?怎样修改才会没有问题?这是网上找到的,返回字符串中的域名函数,谢谢
{
char tmp[MAX_PATH]={0};
if(memicmp("http://",url,7)==0)
{
strcpy(tmp,&url[7]);
}else
{
return 0;
}
strcpy(domain,strtok(tmp,"/"));
return strlen(domain);
}
为什么这个小函数连续调用N次后就会崩溃?怎样修改才会没有问题?这是网上找到的,返回字符串中的域名函数,谢谢
解决方案 »
- 异步和同步实际上不是一样的吗?
- 如何在子对话框引用父进程的变量
- 请人帮忙完成一个功能模块--关于可插入协议的Mime Filter(给报酬)
- 关于异步套接字的一个问题:服务端的返回信息客户端收不到。
- 大虾们,帮个忙,vc调用webservice问题
- 头文件如何相互包含?
- 关于子类化,问个入门问题
- 我的dll调用哪里有问题,怎么不能获得所需值?有源码,请大家指点一下吧
- 拜托!.wba是个什么文件类型?用什么能打开 ?
- MDI中怎么能够实现一个文档对多个视图?
- 在picturte control 上添加Static edit 框子, 框子中的字在改变字体后不再显示!
- 关于VC 中的double类型。
如果domain输入不为空的时候,一直增加domain[0] = 0;
strcpy(domain,strtok(tmp,"/"));
怎么调用的?有没有分配内存给 domain调用函数后又是怎么使用domain的
LPCTSTR pszUrl,
PARSEDURL *ppu
);用现成的函数就行了
如果你在多线程环境下使用这个GetDomain,基本下会发生问题
没问题啊,如下,调用多少遍也没问题
char url[] = "http://22.33.com/ur/dk/...";
char domain[20];
GetDomain(url,domain);
{
CString url=URL;
if(url.Find("http://",0)==0)
{
url.Delete(0,sizeof("http://"));
int index=url.Find('/',0);
if(index>0)
url=url.Left(index);
return url;
}
return "";
}