strcpy()

Copy a string

Synopsis:

#include <string.h>

char* strcpy( char* dst, 
              const char* src );

Arguments:

dst
A pointer to where you want to copy the string.
src
The string that you want to copy.

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The strcpy() function copies the string pointed to by src (including the terminating NUL character) into the array pointed to by dst.

Note: Copying of overlapping objects isn't guaranteed to work properly. See the memmove() function for information on copying objects that overlap.

Returns:

The same pointer as dst.

Examples:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main( void )
{
    char buffer[80];

    strcpy( buffer, "Hello " );
    strcat( buffer, "world" );

    printf( "%s\n", buffer );

    return EXIT_SUCCESS;
}

produces the output:

Hello world

Environment variables:

LIBC_STRINGS
On ARMv7 targets, you can use this environment variable to select the implementation for this function. The value is one of the following:
  • cortex_a9 — optimized for the ARM Cortex-A9 processor; assumes that no unaligned access is supported.
  • cortex_a9_aligned — optimized for ARM Cortex-A9; requires that unaligned memory access be enabled on the platform. If memory access is misaligned, this implementation falls back to the NEON version.
  • cortex_a9_neon — optimized for ARM Cortex-A9 using NEON.
  • generic — the default.
  • krait — optimized for the Qualcomm Krait CPU.
  • krait_neon — optimized for Qualcomm Krait using NEON.

Processes that register ISRs shouldn't use the NEON versions.

Classification:

ANSI, POSIX 1003.1

Safety:  
Cancellation point No
Interrupt handler Yes
Signal handler Yes
Thread Yes