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.