>but I should use pointers ,I have no choice
Well, you still have no choice but to use strcpy if you want to actually swap the strings. Here's a tip. Get it working first, then modify it to suit your requirements. You'll find that using pointers and dynamic memory isn't terribly different than just using arrays.
I'm here to prove you wrong.