Copy a string
#include <string.h> char* strcpy( char* dst, const char* src ); char* strcpy_isr( char* dst, const char* src );
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
The strcpy() function copies the string pointed to by src (including the terminating NUL character) into the array pointed to by dst. The strcpy_isr() function is similar, but it's safe for you to use it in an interrupt service routine.
The same pointer as dst.
#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
Processes that register ISRs shouldn't use the NEON versions.
strcpy() is ANSI, POSIX 1003.1; strcpy_isr() is QNX Neutrino.
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | Read the Caveats |
Signal handler | Yes |
Thread | Yes |
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | Yes |
Signal handler | Yes |
Thread | Yes |
Implementations of strcpy() that are optimized using SIMD instructions aren't safe to use in an interrupt handler. These include the NEON implementations on ARMv7 and AArch64.