Задача состоит в том, чтобы найти самый быстрый способ определить в C/С++ длину c-строки, используя побитовые операции в C.
char thestring[16];
С-строка имеет максимальный размер 16 символов и находится внутри буфера Если строка равна 16 символам, в конце не имеет нулевого байта.
Я уверен, что можно сделать, но пока не понял.
Я работаю над этим на данный момент, но предполагаю, что строка memcpied в буфере с нулевым заполнением.
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;
Примечание: буфер с нулевым заполнением "\ 0123456789abcde" не может быть.