Strlen of MAX 16 chars string using bitwise operators
Posted
by fabrizioM
on Stack Overflow
See other posts from Stack Overflow
or by fabrizioM
Published on 2010-04-19T16:43:37Z
Indexed on
2010/04/19
17:13 UTC
Read the original article
Hit count: 426
The challenge is to find the fastest way to determine in C/C++ the length of a c-string using bitwise operations in C.
char thestring[16];
The c-string has a max size of 16 chars and is inside a buffer If the string is equal to 16 chars doesn't have the null byte at the end.
I am sure can be done but didn't got it right yet.
I am working on this at the moment, but assuming the string is memcpied on a zero-filled buffer.
len = buff[0] != 0x0 +
buff[1] != 0x0 +
buff[2] != 0x0 +
buff[3] != 0x0 +
buff[4] != 0x0 +
buff[5] != 0x0 +
buff[6] != 0x0 +
buff[7] != 0x0 +
buff[8] != 0x0 +
buff[9] != 0x0 +
buff[10] != 0x0 +
buff[11] != 0x0 +
buff[12] != 0x0 +
buff[13] != 0x0 +
buff[14] != 0x0 +
buff[15] != 0x0;
© Stack Overflow or respective owner