src/projects/libc/string/strcpy.c
char* strcpy(char* restrict dststr, const char* restrict srcstr) {
    unsigned char* dst = (unsigned char*) dststr;
    const unsigned char* src = (const unsigned char*) srcstr;
    for (size_t i = 0; dst[i] = src[i]; i++) {}
    return dststr;
}
/*
 * Copy a string.
 *
 * Copies the C string pointed by source into the array pointed by destination, including the terminating null
 * character (and stopping at that point). To avoid overflows, the size of the array pointed by destination shall be
 * long enough to contain the same C string as source (including the terminating null character), and should not
 * overlap in memory with source.
 */
Copy a string.
Copies the C string pointed by source into the array pointed by destination, including the terminating null
character (and stopping at that point). To avoid overflows, the size of the array pointed by destination shall be
long enough to contain the same C string as source (including the terminating null character), and should not
overlap in memory with source.
Copy a string . Copies the C string pointed by source into the array pointed by destination including the terminating null character ( and stopping at that point ) . To avoid overflows the size of the array pointed by destination shall be long enough to contain the same C string as source ( including the terminating null character ) and should not overlap in memory with source .
char* strcpy(char* restrict dststr, const char* restrict srcstr) {
    unsigned char* dst = (unsigned char*) dststr;
    const unsigned char* src = (const unsigned char*) srcstr;
    for (size_t i = 0; dst[i] = src[i]; i++) {}
    return dststr;
}
char * strcpy ( char * restrict dststr , const char * restrict srcstr ) { unsigned char * dst = ( unsigned char * ) dststr ; const unsigned char * src = ( const unsigned char * ) srcstr ; for ( size_t i = 0 ; dst [ i ] = src [ i ] ; i ++ ) { } return dststr ; }
Copy a string.
Copy a string .