Compute the length of a string
#include <string.h> size_t strlen( const char * s ); size_t strlen_isr( const char * s );
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
The strlen() function computes the length of the string pointed to by s. The strlen_isr() function is similar, but it's safe for you to use it in an interrupt service routine.
The number of characters that precede the terminating null character.
#include <stdio.h> #include <stdlib.h> #include <string.h> int main( void ) { printf( "%d\n", strlen( "Howdy" ) ); printf( "%d\n", strlen( "Hello world\n" ) ); printf( "%d\n", strlen( "" ) ); return EXIT_SUCCESS; }
produces the output:
5 12 0
Processes that register ISRs shouldn't use the NEON versions.
strlen() is ANSI, POSIX 1003.1; strlen_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 strlen() that are optimized using SIMD instructions aren't safe to use in an interrupt handler. These include the NEON implementations on ARMv7 and AArch64.