/*
*
* 字符串移位
* len > 0时后移, len < 0时前移
*/
void strmove(char *src, int len)
{
char *p = NULL;
if (len > 0)
{ // 后移
p = src + strlen(src);
*(p + len + 1) = 0;
while (p >= src)
*(p+len) = *p--;
}
else if (len < 0)
{
p = src + len;
while (*src)
*p++ = *src++;
}
}
/*
*
* 字符串取代
*/
char* strinstead(char* src, char* dst, char* instead)
{
char *p = 0;
int dst_len = strlen(dst);
int instead_len = strlen(instead);
if (p = strstr(src, dst))
{
strmove(p + dst_len, instead_len - dst_len);
while (*instead)
*p++ = *instead++;
}
return p;
}
*
* 字符串移位
* len > 0时后移, len < 0时前移
*/
void strmove(char *src, int len)
{
char *p = NULL;
if (len > 0)
{ // 后移
p = src + strlen(src);
*(p + len + 1) = 0;
while (p >= src)
*(p+len) = *p--;
}
else if (len < 0)
{
p = src + len;
while (*src)
*p++ = *src++;
}
}
/*
*
* 字符串取代
*/
char* strinstead(char* src, char* dst, char* instead)
{
char *p = 0;
int dst_len = strlen(dst);
int instead_len = strlen(instead);
if (p = strstr(src, dst))
{
strmove(p + dst_len, instead_len - dst_len);
while (*instead)
*p++ = *instead++;
}
return p;
}