char* mystradv(char* s, int d)
{
while ((*s != '\0') && (d > 0)) {
s++;
d--;
}
return s;
}

じゃだめなの?
はずしてたら剥げしくごめん。