C의 특정 (char *) 포인터에서 시작하는 연속적인 null 바이트의 양을 계산하는 빠른 방법이 있습니까? 나는 현재 잘 작동하고 빠르지 만 빡빡한 루프를 사용하고 있지만 libc/gcc의 문자열 함수는 훨씬 더 빠른 경향이 있습니다.C에서 연속적인 null ( 0) 바이트를 어떻게 계산합니까?
나는 strspn
과 비슷한 것을 찾고 있는데, buf strspn은 (물론) 첫 번째 null 바이트에서 멈추고 따라서이 작업에는 쓸모가 없다. 나는 또한 이 아니고이 아닌 바이트 수를 반환하는 strlen
의 역함을 찾고 있다고 말할 수 있다고 생각합니다.
NUL 바이트가 문자열의 끝이 아닌 경우 문자열의 끝 부분을 어떻게 알 수 있습니까? – delnan
그것이 충분히 빠를 때 ... 왜 botter일까요?! – Anthales
C 라이브러리 구현에는 아마도 손으로 쓴 어셈블러가있을 것입니다. 가장 가까운 정렬 된 포인터로 이동하여 정수 값을 비교할 수 있습니다. –