Search code examples
cstrcpy

C: One error In strcpy function and cannot find it


I know that this strcpy function below is incorrect, but I cannot seem to figure out the one or two things I need to change to fix it. Any help would be greatly appreciated as I am completely stuck on this:

void strcpy(char *destString, char *sourceString)
{
       char *marker, *t;
       for(marker = sourceString, t = destString; *marker; marker++, t++)
       *t = *marker;
}  

Solution

  • Well it depends on your environment..

    For example I see a few things I don't like:

    • You do not check for input parameters to be != NULL. This will cause a *0 access

    • I see you are not terminating your string with the '\0' character (or 0).. So, after the loop (please intent.) add *t = 0;