#include <iostream>
int delestr_end(char *newstr,char *buf,char find_char)
{
unsigned int copy_len;
char *tmp=strrchr(buf,find_char);
if(tmp==NULL)
{
newstr=NULL;
return -1;
}
for(copy_len=0;copy_len<strlen(buf);copy_len++)
{
if(strcmp((buf+copy_len),tmp)==0)
{
break;
}
}
strncpy(newstr,buf,copy_len+1);
*(newstr+copy_len+1)='\0';
return 0;
}
int main()
{
char *buf="adfasdghkfgsdfsdgdfgsdgdfcom40119-langwang-voxer.html";
char find_char='/';
char *newstr=new char[strlen(buf)+1];
if(delestr_end(newstr,buf,find_char)==0)
{
std::cout << buf << std::endl;
std::cout << newstr << std::endl;
}else{
std::cout << "buf error"<< std::endl;
}
delete []newstr;
getchar();
return 0;
}
输出:
adfasdghkfgsdfsdgdfgsdgdfcom/0119-langwang-voxer.html
adfasdghkfgsdfsdgdfgsdgdfcom/